1/* WARNING: This is auto-generated file. Do not modify, since changes will
2 * be lost! Modify the generating script instead.
3 *
4 * Generated from Khronos GL API description (gl.xml) revision 30159.
5 */
6
7void CallLogWrapper::glActiveShaderProgram (glw::GLuint pipeline, glw::GLuint program)
8{
9	if (m_enableLog)
10		m_log << TestLog::Message << "glActiveShaderProgram(" << pipeline << ", " << program << ");" << TestLog::EndMessage;
11	m_gl.activeShaderProgram(pipeline, program);
12}
13
14void CallLogWrapper::glActiveTexture (glw::GLenum texture)
15{
16	if (m_enableLog)
17		m_log << TestLog::Message << "glActiveTexture(" << getTextureUnitStr(texture) << ");" << TestLog::EndMessage;
18	m_gl.activeTexture(texture);
19}
20
21void CallLogWrapper::glAttachShader (glw::GLuint program, glw::GLuint shader)
22{
23	if (m_enableLog)
24		m_log << TestLog::Message << "glAttachShader(" << program << ", " << shader << ");" << TestLog::EndMessage;
25	m_gl.attachShader(program, shader);
26}
27
28void CallLogWrapper::glBeginConditionalRender (glw::GLuint id, glw::GLenum mode)
29{
30	if (m_enableLog)
31		m_log << TestLog::Message << "glBeginConditionalRender(" << id << ", " << toHex(mode) << ");" << TestLog::EndMessage;
32	m_gl.beginConditionalRender(id, mode);
33}
34
35void CallLogWrapper::glBeginQuery (glw::GLenum target, glw::GLuint id)
36{
37	if (m_enableLog)
38		m_log << TestLog::Message << "glBeginQuery(" << getQueryTargetStr(target) << ", " << id << ");" << TestLog::EndMessage;
39	m_gl.beginQuery(target, id);
40}
41
42void CallLogWrapper::glBeginQueryIndexed (glw::GLenum target, glw::GLuint index, glw::GLuint id)
43{
44	if (m_enableLog)
45		m_log << TestLog::Message << "glBeginQueryIndexed(" << toHex(target) << ", " << index << ", " << id << ");" << TestLog::EndMessage;
46	m_gl.beginQueryIndexed(target, index, id);
47}
48
49void CallLogWrapper::glBeginTransformFeedback (glw::GLenum primitiveMode)
50{
51	if (m_enableLog)
52		m_log << TestLog::Message << "glBeginTransformFeedback(" << getPrimitiveTypeStr(primitiveMode) << ");" << TestLog::EndMessage;
53	m_gl.beginTransformFeedback(primitiveMode);
54}
55
56void CallLogWrapper::glBindAttribLocation (glw::GLuint program, glw::GLuint index, const glw::GLchar *name)
57{
58	if (m_enableLog)
59		m_log << TestLog::Message << "glBindAttribLocation(" << program << ", " << index << ", " << getStringStr(name) << ");" << TestLog::EndMessage;
60	m_gl.bindAttribLocation(program, index, name);
61}
62
63void CallLogWrapper::glBindBuffer (glw::GLenum target, glw::GLuint buffer)
64{
65	if (m_enableLog)
66		m_log << TestLog::Message << "glBindBuffer(" << getBufferTargetStr(target) << ", " << buffer << ");" << TestLog::EndMessage;
67	m_gl.bindBuffer(target, buffer);
68}
69
70void CallLogWrapper::glBindBufferBase (glw::GLenum target, glw::GLuint index, glw::GLuint buffer)
71{
72	if (m_enableLog)
73		m_log << TestLog::Message << "glBindBufferBase(" << getBufferTargetStr(target) << ", " << index << ", " << buffer << ");" << TestLog::EndMessage;
74	m_gl.bindBufferBase(target, index, buffer);
75}
76
77void CallLogWrapper::glBindBufferRange (glw::GLenum target, glw::GLuint index, glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size)
78{
79	if (m_enableLog)
80		m_log << TestLog::Message << "glBindBufferRange(" << getBufferTargetStr(target) << ", " << index << ", " << buffer << ", " << offset << ", " << size << ");" << TestLog::EndMessage;
81	m_gl.bindBufferRange(target, index, buffer, offset, size);
82}
83
84void CallLogWrapper::glBindBuffersBase (glw::GLenum target, glw::GLuint first, glw::GLsizei count, const glw::GLuint *buffers)
85{
86	if (m_enableLog)
87		m_log << TestLog::Message << "glBindBuffersBase(" << toHex(target) << ", " << first << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(buffers))) << ");" << TestLog::EndMessage;
88	m_gl.bindBuffersBase(target, first, count, buffers);
89}
90
91void CallLogWrapper::glBindBuffersRange (glw::GLenum target, glw::GLuint first, glw::GLsizei count, const glw::GLuint *buffers, const glw::GLintptr *offsets, const glw::GLsizeiptr *sizes)
92{
93	if (m_enableLog)
94		m_log << TestLog::Message << "glBindBuffersRange(" << toHex(target) << ", " << first << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(buffers))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(offsets))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(sizes))) << ");" << TestLog::EndMessage;
95	m_gl.bindBuffersRange(target, first, count, buffers, offsets, sizes);
96}
97
98void CallLogWrapper::glBindFragDataLocation (glw::GLuint program, glw::GLuint color, const glw::GLchar *name)
99{
100	if (m_enableLog)
101		m_log << TestLog::Message << "glBindFragDataLocation(" << program << ", " << color << ", " << getStringStr(name) << ");" << TestLog::EndMessage;
102	m_gl.bindFragDataLocation(program, color, name);
103}
104
105void CallLogWrapper::glBindFragDataLocationIndexed (glw::GLuint program, glw::GLuint colorNumber, glw::GLuint index, const glw::GLchar *name)
106{
107	if (m_enableLog)
108		m_log << TestLog::Message << "glBindFragDataLocationIndexed(" << program << ", " << colorNumber << ", " << index << ", " << getStringStr(name) << ");" << TestLog::EndMessage;
109	m_gl.bindFragDataLocationIndexed(program, colorNumber, index, name);
110}
111
112void CallLogWrapper::glBindFramebuffer (glw::GLenum target, glw::GLuint framebuffer)
113{
114	if (m_enableLog)
115		m_log << TestLog::Message << "glBindFramebuffer(" << getFramebufferTargetStr(target) << ", " << framebuffer << ");" << TestLog::EndMessage;
116	m_gl.bindFramebuffer(target, framebuffer);
117}
118
119void CallLogWrapper::glBindImageTexture (glw::GLuint unit, glw::GLuint texture, glw::GLint level, glw::GLboolean layered, glw::GLint layer, glw::GLenum access, glw::GLenum format)
120{
121	if (m_enableLog)
122		m_log << TestLog::Message << "glBindImageTexture(" << unit << ", " << texture << ", " << level << ", " << getBooleanStr(layered) << ", " << layer << ", " << getImageAccessStr(access) << ", " << getPixelFormatStr(format) << ");" << TestLog::EndMessage;
123	m_gl.bindImageTexture(unit, texture, level, layered, layer, access, format);
124}
125
126void CallLogWrapper::glBindImageTextures (glw::GLuint first, glw::GLsizei count, const glw::GLuint *textures)
127{
128	if (m_enableLog)
129		m_log << TestLog::Message << "glBindImageTextures(" << first << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(textures))) << ");" << TestLog::EndMessage;
130	m_gl.bindImageTextures(first, count, textures);
131}
132
133void CallLogWrapper::glBindProgramPipeline (glw::GLuint pipeline)
134{
135	if (m_enableLog)
136		m_log << TestLog::Message << "glBindProgramPipeline(" << pipeline << ");" << TestLog::EndMessage;
137	m_gl.bindProgramPipeline(pipeline);
138}
139
140void CallLogWrapper::glBindRenderbuffer (glw::GLenum target, glw::GLuint renderbuffer)
141{
142	if (m_enableLog)
143		m_log << TestLog::Message << "glBindRenderbuffer(" << getFramebufferTargetStr(target) << ", " << renderbuffer << ");" << TestLog::EndMessage;
144	m_gl.bindRenderbuffer(target, renderbuffer);
145}
146
147void CallLogWrapper::glBindSampler (glw::GLuint unit, glw::GLuint sampler)
148{
149	if (m_enableLog)
150		m_log << TestLog::Message << "glBindSampler(" << unit << ", " << sampler << ");" << TestLog::EndMessage;
151	m_gl.bindSampler(unit, sampler);
152}
153
154void CallLogWrapper::glBindSamplers (glw::GLuint first, glw::GLsizei count, const glw::GLuint *samplers)
155{
156	if (m_enableLog)
157		m_log << TestLog::Message << "glBindSamplers(" << first << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(samplers))) << ");" << TestLog::EndMessage;
158	m_gl.bindSamplers(first, count, samplers);
159}
160
161void CallLogWrapper::glBindTexture (glw::GLenum target, glw::GLuint texture)
162{
163	if (m_enableLog)
164		m_log << TestLog::Message << "glBindTexture(" << getTextureTargetStr(target) << ", " << texture << ");" << TestLog::EndMessage;
165	m_gl.bindTexture(target, texture);
166}
167
168void CallLogWrapper::glBindTextureUnit (glw::GLuint unit, glw::GLuint texture)
169{
170	if (m_enableLog)
171		m_log << TestLog::Message << "glBindTextureUnit(" << unit << ", " << texture << ");" << TestLog::EndMessage;
172	m_gl.bindTextureUnit(unit, texture);
173}
174
175void CallLogWrapper::glBindTextures (glw::GLuint first, glw::GLsizei count, const glw::GLuint *textures)
176{
177	if (m_enableLog)
178		m_log << TestLog::Message << "glBindTextures(" << first << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(textures))) << ");" << TestLog::EndMessage;
179	m_gl.bindTextures(first, count, textures);
180}
181
182void CallLogWrapper::glBindTransformFeedback (glw::GLenum target, glw::GLuint id)
183{
184	if (m_enableLog)
185		m_log << TestLog::Message << "glBindTransformFeedback(" << getTransformFeedbackTargetStr(target) << ", " << id << ");" << TestLog::EndMessage;
186	m_gl.bindTransformFeedback(target, id);
187}
188
189void CallLogWrapper::glBindVertexArray (glw::GLuint array)
190{
191	if (m_enableLog)
192		m_log << TestLog::Message << "glBindVertexArray(" << array << ");" << TestLog::EndMessage;
193	m_gl.bindVertexArray(array);
194}
195
196void CallLogWrapper::glBindVertexBuffer (glw::GLuint bindingindex, glw::GLuint buffer, glw::GLintptr offset, glw::GLsizei stride)
197{
198	if (m_enableLog)
199		m_log << TestLog::Message << "glBindVertexBuffer(" << bindingindex << ", " << buffer << ", " << offset << ", " << stride << ");" << TestLog::EndMessage;
200	m_gl.bindVertexBuffer(bindingindex, buffer, offset, stride);
201}
202
203void CallLogWrapper::glBindVertexBuffers (glw::GLuint first, glw::GLsizei count, const glw::GLuint *buffers, const glw::GLintptr *offsets, const glw::GLsizei *strides)
204{
205	if (m_enableLog)
206		m_log << TestLog::Message << "glBindVertexBuffers(" << first << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(buffers))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(offsets))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(strides))) << ");" << TestLog::EndMessage;
207	m_gl.bindVertexBuffers(first, count, buffers, offsets, strides);
208}
209
210void CallLogWrapper::glBlendBarrierKHR (void)
211{
212	if (m_enableLog)
213		m_log << TestLog::Message << "glBlendBarrierKHR(" << ");" << TestLog::EndMessage;
214	m_gl.blendBarrierKHR();
215}
216
217void CallLogWrapper::glBlendColor (glw::GLfloat red, glw::GLfloat green, glw::GLfloat blue, glw::GLfloat alpha)
218{
219	if (m_enableLog)
220		m_log << TestLog::Message << "glBlendColor(" << red << ", " << green << ", " << blue << ", " << alpha << ");" << TestLog::EndMessage;
221	m_gl.blendColor(red, green, blue, alpha);
222}
223
224void CallLogWrapper::glBlendEquation (glw::GLenum mode)
225{
226	if (m_enableLog)
227		m_log << TestLog::Message << "glBlendEquation(" << getBlendEquationStr(mode) << ");" << TestLog::EndMessage;
228	m_gl.blendEquation(mode);
229}
230
231void CallLogWrapper::glBlendEquationSeparate (glw::GLenum modeRGB, glw::GLenum modeAlpha)
232{
233	if (m_enableLog)
234		m_log << TestLog::Message << "glBlendEquationSeparate(" << getBlendEquationStr(modeRGB) << ", " << getBlendEquationStr(modeAlpha) << ");" << TestLog::EndMessage;
235	m_gl.blendEquationSeparate(modeRGB, modeAlpha);
236}
237
238void CallLogWrapper::glBlendEquationSeparatei (glw::GLuint buf, glw::GLenum modeRGB, glw::GLenum modeAlpha)
239{
240	if (m_enableLog)
241		m_log << TestLog::Message << "glBlendEquationSeparatei(" << buf << ", " << getBlendEquationStr(modeRGB) << ", " << getBlendEquationStr(modeAlpha) << ");" << TestLog::EndMessage;
242	m_gl.blendEquationSeparatei(buf, modeRGB, modeAlpha);
243}
244
245void CallLogWrapper::glBlendEquationi (glw::GLuint buf, glw::GLenum mode)
246{
247	if (m_enableLog)
248		m_log << TestLog::Message << "glBlendEquationi(" << buf << ", " << getBlendEquationStr(mode) << ");" << TestLog::EndMessage;
249	m_gl.blendEquationi(buf, mode);
250}
251
252void CallLogWrapper::glBlendFunc (glw::GLenum sfactor, glw::GLenum dfactor)
253{
254	if (m_enableLog)
255		m_log << TestLog::Message << "glBlendFunc(" << getBlendFactorStr(sfactor) << ", " << getBlendFactorStr(dfactor) << ");" << TestLog::EndMessage;
256	m_gl.blendFunc(sfactor, dfactor);
257}
258
259void CallLogWrapper::glBlendFuncSeparate (glw::GLenum sfactorRGB, glw::GLenum dfactorRGB, glw::GLenum sfactorAlpha, glw::GLenum dfactorAlpha)
260{
261	if (m_enableLog)
262		m_log << TestLog::Message << "glBlendFuncSeparate(" << getBlendFactorStr(sfactorRGB) << ", " << getBlendFactorStr(dfactorRGB) << ", " << getBlendFactorStr(sfactorAlpha) << ", " << getBlendFactorStr(dfactorAlpha) << ");" << TestLog::EndMessage;
263	m_gl.blendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
264}
265
266void CallLogWrapper::glBlendFuncSeparatei (glw::GLuint buf, glw::GLenum srcRGB, glw::GLenum dstRGB, glw::GLenum srcAlpha, glw::GLenum dstAlpha)
267{
268	if (m_enableLog)
269		m_log << TestLog::Message << "glBlendFuncSeparatei(" << buf << ", " << toHex(srcRGB) << ", " << toHex(dstRGB) << ", " << toHex(srcAlpha) << ", " << toHex(dstAlpha) << ");" << TestLog::EndMessage;
270	m_gl.blendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);
271}
272
273void CallLogWrapper::glBlendFunci (glw::GLuint buf, glw::GLenum src, glw::GLenum dst)
274{
275	if (m_enableLog)
276		m_log << TestLog::Message << "glBlendFunci(" << buf << ", " << toHex(src) << ", " << toHex(dst) << ");" << TestLog::EndMessage;
277	m_gl.blendFunci(buf, src, dst);
278}
279
280void CallLogWrapper::glBlitFramebuffer (glw::GLint srcX0, glw::GLint srcY0, glw::GLint srcX1, glw::GLint srcY1, glw::GLint dstX0, glw::GLint dstY0, glw::GLint dstX1, glw::GLint dstY1, glw::GLbitfield mask, glw::GLenum filter)
281{
282	if (m_enableLog)
283		m_log << TestLog::Message << "glBlitFramebuffer(" << srcX0 << ", " << srcY0 << ", " << srcX1 << ", " << srcY1 << ", " << dstX0 << ", " << dstY0 << ", " << dstX1 << ", " << dstY1 << ", " << getBufferMaskStr(mask) << ", " << getTextureFilterStr(filter) << ");" << TestLog::EndMessage;
284	m_gl.blitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
285}
286
287void CallLogWrapper::glBlitNamedFramebuffer (glw::GLuint readFramebuffer, glw::GLuint drawFramebuffer, glw::GLint srcX0, glw::GLint srcY0, glw::GLint srcX1, glw::GLint srcY1, glw::GLint dstX0, glw::GLint dstY0, glw::GLint dstX1, glw::GLint dstY1, glw::GLbitfield mask, glw::GLenum filter)
288{
289	if (m_enableLog)
290		m_log << TestLog::Message << "glBlitNamedFramebuffer(" << readFramebuffer << ", " << drawFramebuffer << ", " << srcX0 << ", " << srcY0 << ", " << srcX1 << ", " << srcY1 << ", " << dstX0 << ", " << dstY0 << ", " << dstX1 << ", " << dstY1 << ", " << toHex(mask) << ", " << toHex(filter) << ");" << TestLog::EndMessage;
291	m_gl.blitNamedFramebuffer(readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
292}
293
294void CallLogWrapper::glBufferData (glw::GLenum target, glw::GLsizeiptr size, const void *data, glw::GLenum usage)
295{
296	if (m_enableLog)
297		m_log << TestLog::Message << "glBufferData(" << getBufferTargetStr(target) << ", " << size << ", " << data << ", " << getUsageStr(usage) << ");" << TestLog::EndMessage;
298	m_gl.bufferData(target, size, data, usage);
299}
300
301void CallLogWrapper::glBufferStorage (glw::GLenum target, glw::GLsizeiptr size, const void *data, glw::GLbitfield flags)
302{
303	if (m_enableLog)
304		m_log << TestLog::Message << "glBufferStorage(" << toHex(target) << ", " << size << ", " << data << ", " << toHex(flags) << ");" << TestLog::EndMessage;
305	m_gl.bufferStorage(target, size, data, flags);
306}
307
308void CallLogWrapper::glBufferSubData (glw::GLenum target, glw::GLintptr offset, glw::GLsizeiptr size, const void *data)
309{
310	if (m_enableLog)
311		m_log << TestLog::Message << "glBufferSubData(" << getBufferTargetStr(target) << ", " << offset << ", " << size << ", " << data << ");" << TestLog::EndMessage;
312	m_gl.bufferSubData(target, offset, size, data);
313}
314
315glw::GLenum CallLogWrapper::glCheckFramebufferStatus (glw::GLenum target)
316{
317	if (m_enableLog)
318		m_log << TestLog::Message << "glCheckFramebufferStatus(" << getFramebufferTargetStr(target) << ");" << TestLog::EndMessage;
319	glw::GLenum returnValue = m_gl.checkFramebufferStatus(target);
320	if (m_enableLog)
321		m_log << TestLog::Message << "// " << getFramebufferStatusStr(returnValue) << " returned" << TestLog::EndMessage;
322	return returnValue;
323}
324
325glw::GLenum CallLogWrapper::glCheckNamedFramebufferStatus (glw::GLuint framebuffer, glw::GLenum target)
326{
327	if (m_enableLog)
328		m_log << TestLog::Message << "glCheckNamedFramebufferStatus(" << framebuffer << ", " << toHex(target) << ");" << TestLog::EndMessage;
329	glw::GLenum returnValue = m_gl.checkNamedFramebufferStatus(framebuffer, target);
330	if (m_enableLog)
331		m_log << TestLog::Message << "// " << toHex(returnValue) << " returned" << TestLog::EndMessage;
332	return returnValue;
333}
334
335void CallLogWrapper::glClampColor (glw::GLenum target, glw::GLenum clamp)
336{
337	if (m_enableLog)
338		m_log << TestLog::Message << "glClampColor(" << toHex(target) << ", " << toHex(clamp) << ");" << TestLog::EndMessage;
339	m_gl.clampColor(target, clamp);
340}
341
342void CallLogWrapper::glClear (glw::GLbitfield mask)
343{
344	if (m_enableLog)
345		m_log << TestLog::Message << "glClear(" << getBufferMaskStr(mask) << ");" << TestLog::EndMessage;
346	m_gl.clear(mask);
347}
348
349void CallLogWrapper::glClearBufferData (glw::GLenum target, glw::GLenum internalformat, glw::GLenum format, glw::GLenum type, const void *data)
350{
351	if (m_enableLog)
352		m_log << TestLog::Message << "glClearBufferData(" << toHex(target) << ", " << toHex(internalformat) << ", " << toHex(format) << ", " << toHex(type) << ", " << data << ");" << TestLog::EndMessage;
353	m_gl.clearBufferData(target, internalformat, format, type, data);
354}
355
356void CallLogWrapper::glClearBufferSubData (glw::GLenum target, glw::GLenum internalformat, glw::GLintptr offset, glw::GLsizeiptr size, glw::GLenum format, glw::GLenum type, const void *data)
357{
358	if (m_enableLog)
359		m_log << TestLog::Message << "glClearBufferSubData(" << toHex(target) << ", " << toHex(internalformat) << ", " << offset << ", " << size << ", " << toHex(format) << ", " << toHex(type) << ", " << data << ");" << TestLog::EndMessage;
360	m_gl.clearBufferSubData(target, internalformat, offset, size, format, type, data);
361}
362
363void CallLogWrapper::glClearBufferfi (glw::GLenum buffer, glw::GLint drawbuffer, glw::GLfloat depth, glw::GLint stencil)
364{
365	if (m_enableLog)
366		m_log << TestLog::Message << "glClearBufferfi(" << getBufferStr(buffer) << ", " << drawbuffer << ", " << depth << ", " << stencil << ");" << TestLog::EndMessage;
367	m_gl.clearBufferfi(buffer, drawbuffer, depth, stencil);
368}
369
370void CallLogWrapper::glClearBufferfv (glw::GLenum buffer, glw::GLint drawbuffer, const glw::GLfloat *value)
371{
372	if (m_enableLog)
373		m_log << TestLog::Message << "glClearBufferfv(" << getBufferStr(buffer) << ", " << drawbuffer << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
374	m_gl.clearBufferfv(buffer, drawbuffer, value);
375}
376
377void CallLogWrapper::glClearBufferiv (glw::GLenum buffer, glw::GLint drawbuffer, const glw::GLint *value)
378{
379	if (m_enableLog)
380		m_log << TestLog::Message << "glClearBufferiv(" << getBufferStr(buffer) << ", " << drawbuffer << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
381	m_gl.clearBufferiv(buffer, drawbuffer, value);
382}
383
384void CallLogWrapper::glClearBufferuiv (glw::GLenum buffer, glw::GLint drawbuffer, const glw::GLuint *value)
385{
386	if (m_enableLog)
387		m_log << TestLog::Message << "glClearBufferuiv(" << getBufferStr(buffer) << ", " << drawbuffer << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
388	m_gl.clearBufferuiv(buffer, drawbuffer, value);
389}
390
391void CallLogWrapper::glClearColor (glw::GLfloat red, glw::GLfloat green, glw::GLfloat blue, glw::GLfloat alpha)
392{
393	if (m_enableLog)
394		m_log << TestLog::Message << "glClearColor(" << red << ", " << green << ", " << blue << ", " << alpha << ");" << TestLog::EndMessage;
395	m_gl.clearColor(red, green, blue, alpha);
396}
397
398void CallLogWrapper::glClearDepth (glw::GLdouble depth)
399{
400	if (m_enableLog)
401		m_log << TestLog::Message << "glClearDepth(" << depth << ");" << TestLog::EndMessage;
402	m_gl.clearDepth(depth);
403}
404
405void CallLogWrapper::glClearDepthf (glw::GLfloat d)
406{
407	if (m_enableLog)
408		m_log << TestLog::Message << "glClearDepthf(" << d << ");" << TestLog::EndMessage;
409	m_gl.clearDepthf(d);
410}
411
412void CallLogWrapper::glClearNamedBufferData (glw::GLuint buffer, glw::GLenum internalformat, glw::GLenum format, glw::GLenum type, const void *data)
413{
414	if (m_enableLog)
415		m_log << TestLog::Message << "glClearNamedBufferData(" << buffer << ", " << toHex(internalformat) << ", " << toHex(format) << ", " << toHex(type) << ", " << data << ");" << TestLog::EndMessage;
416	m_gl.clearNamedBufferData(buffer, internalformat, format, type, data);
417}
418
419void CallLogWrapper::glClearNamedBufferSubData (glw::GLuint buffer, glw::GLenum internalformat, glw::GLintptr offset, glw::GLsizeiptr size, glw::GLenum format, glw::GLenum type, const void *data)
420{
421	if (m_enableLog)
422		m_log << TestLog::Message << "glClearNamedBufferSubData(" << buffer << ", " << toHex(internalformat) << ", " << offset << ", " << size << ", " << toHex(format) << ", " << toHex(type) << ", " << data << ");" << TestLog::EndMessage;
423	m_gl.clearNamedBufferSubData(buffer, internalformat, offset, size, format, type, data);
424}
425
426void CallLogWrapper::glClearNamedFramebufferfi (glw::GLuint framebuffer, glw::GLenum buffer, const glw::GLfloat depth, glw::GLint stencil)
427{
428	if (m_enableLog)
429		m_log << TestLog::Message << "glClearNamedFramebufferfi(" << framebuffer << ", " << toHex(buffer) << ", " << depth << ", " << stencil << ");" << TestLog::EndMessage;
430	m_gl.clearNamedFramebufferfi(framebuffer, buffer, depth, stencil);
431}
432
433void CallLogWrapper::glClearNamedFramebufferfv (glw::GLuint framebuffer, glw::GLenum buffer, glw::GLint drawbuffer, const glw::GLfloat *value)
434{
435	if (m_enableLog)
436		m_log << TestLog::Message << "glClearNamedFramebufferfv(" << framebuffer << ", " << toHex(buffer) << ", " << drawbuffer << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
437	m_gl.clearNamedFramebufferfv(framebuffer, buffer, drawbuffer, value);
438}
439
440void CallLogWrapper::glClearNamedFramebufferiv (glw::GLuint framebuffer, glw::GLenum buffer, glw::GLint drawbuffer, const glw::GLint *value)
441{
442	if (m_enableLog)
443		m_log << TestLog::Message << "glClearNamedFramebufferiv(" << framebuffer << ", " << toHex(buffer) << ", " << drawbuffer << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
444	m_gl.clearNamedFramebufferiv(framebuffer, buffer, drawbuffer, value);
445}
446
447void CallLogWrapper::glClearNamedFramebufferuiv (glw::GLuint framebuffer, glw::GLenum buffer, glw::GLint drawbuffer, const glw::GLuint *value)
448{
449	if (m_enableLog)
450		m_log << TestLog::Message << "glClearNamedFramebufferuiv(" << framebuffer << ", " << toHex(buffer) << ", " << drawbuffer << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
451	m_gl.clearNamedFramebufferuiv(framebuffer, buffer, drawbuffer, value);
452}
453
454void CallLogWrapper::glClearStencil (glw::GLint s)
455{
456	if (m_enableLog)
457		m_log << TestLog::Message << "glClearStencil(" << s << ");" << TestLog::EndMessage;
458	m_gl.clearStencil(s);
459}
460
461void CallLogWrapper::glClearTexImage (glw::GLuint texture, glw::GLint level, glw::GLenum format, glw::GLenum type, const void *data)
462{
463	if (m_enableLog)
464		m_log << TestLog::Message << "glClearTexImage(" << texture << ", " << level << ", " << toHex(format) << ", " << toHex(type) << ", " << data << ");" << TestLog::EndMessage;
465	m_gl.clearTexImage(texture, level, format, type, data);
466}
467
468void CallLogWrapper::glClearTexSubImage (glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLenum format, glw::GLenum type, const void *data)
469{
470	if (m_enableLog)
471		m_log << TestLog::Message << "glClearTexSubImage(" << texture << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ", " << toHex(format) << ", " << toHex(type) << ", " << data << ");" << TestLog::EndMessage;
472	m_gl.clearTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data);
473}
474
475glw::GLenum CallLogWrapper::glClientWaitSync (glw::GLsync sync, glw::GLbitfield flags, glw::GLuint64 timeout)
476{
477	if (m_enableLog)
478		m_log << TestLog::Message << "glClientWaitSync(" << sync << ", " << toHex(flags) << ", " << timeout << ");" << TestLog::EndMessage;
479	glw::GLenum returnValue = m_gl.clientWaitSync(sync, flags, timeout);
480	if (m_enableLog)
481		m_log << TestLog::Message << "// " << toHex(returnValue) << " returned" << TestLog::EndMessage;
482	return returnValue;
483}
484
485void CallLogWrapper::glClipControl (glw::GLenum origin, glw::GLenum depth)
486{
487	if (m_enableLog)
488		m_log << TestLog::Message << "glClipControl(" << toHex(origin) << ", " << toHex(depth) << ");" << TestLog::EndMessage;
489	m_gl.clipControl(origin, depth);
490}
491
492void CallLogWrapper::glColorMask (glw::GLboolean red, glw::GLboolean green, glw::GLboolean blue, glw::GLboolean alpha)
493{
494	if (m_enableLog)
495		m_log << TestLog::Message << "glColorMask(" << getBooleanStr(red) << ", " << getBooleanStr(green) << ", " << getBooleanStr(blue) << ", " << getBooleanStr(alpha) << ");" << TestLog::EndMessage;
496	m_gl.colorMask(red, green, blue, alpha);
497}
498
499void CallLogWrapper::glColorMaski (glw::GLuint index, glw::GLboolean r, glw::GLboolean g, glw::GLboolean b, glw::GLboolean a)
500{
501	if (m_enableLog)
502		m_log << TestLog::Message << "glColorMaski(" << index << ", " << getBooleanStr(r) << ", " << getBooleanStr(g) << ", " << getBooleanStr(b) << ", " << getBooleanStr(a) << ");" << TestLog::EndMessage;
503	m_gl.colorMaski(index, r, g, b, a);
504}
505
506void CallLogWrapper::glCompileShader (glw::GLuint shader)
507{
508	if (m_enableLog)
509		m_log << TestLog::Message << "glCompileShader(" << shader << ");" << TestLog::EndMessage;
510	m_gl.compileShader(shader);
511}
512
513void CallLogWrapper::glCompressedTexImage1D (glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLsizei width, glw::GLint border, glw::GLsizei imageSize, const void *data)
514{
515	if (m_enableLog)
516		m_log << TestLog::Message << "glCompressedTexImage1D(" << toHex(target) << ", " << level << ", " << toHex(internalformat) << ", " << width << ", " << border << ", " << imageSize << ", " << data << ");" << TestLog::EndMessage;
517	m_gl.compressedTexImage1D(target, level, internalformat, width, border, imageSize, data);
518}
519
520void CallLogWrapper::glCompressedTexImage2D (glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLint border, glw::GLsizei imageSize, const void *data)
521{
522	if (m_enableLog)
523		m_log << TestLog::Message << "glCompressedTexImage2D(" << getTextureTargetStr(target) << ", " << level << ", " << getCompressedTexFormatStr(internalformat) << ", " << width << ", " << height << ", " << border << ", " << imageSize << ", " << data << ");" << TestLog::EndMessage;
524	m_gl.compressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
525}
526
527void CallLogWrapper::glCompressedTexImage3D (glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLint border, glw::GLsizei imageSize, const void *data)
528{
529	if (m_enableLog)
530		m_log << TestLog::Message << "glCompressedTexImage3D(" << toHex(target) << ", " << level << ", " << toHex(internalformat) << ", " << width << ", " << height << ", " << depth << ", " << border << ", " << imageSize << ", " << data << ");" << TestLog::EndMessage;
531	m_gl.compressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data);
532}
533
534void CallLogWrapper::glCompressedTexSubImage1D (glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLsizei width, glw::GLenum format, glw::GLsizei imageSize, const void *data)
535{
536	if (m_enableLog)
537		m_log << TestLog::Message << "glCompressedTexSubImage1D(" << toHex(target) << ", " << level << ", " << xoffset << ", " << width << ", " << toHex(format) << ", " << imageSize << ", " << data << ");" << TestLog::EndMessage;
538	m_gl.compressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data);
539}
540
541void CallLogWrapper::glCompressedTexSubImage2D (glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLsizei width, glw::GLsizei height, glw::GLenum format, glw::GLsizei imageSize, const void *data)
542{
543	if (m_enableLog)
544		m_log << TestLog::Message << "glCompressedTexSubImage2D(" << getTextureTargetStr(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << width << ", " << height << ", " << getCompressedTexFormatStr(format) << ", " << imageSize << ", " << data << ");" << TestLog::EndMessage;
545	m_gl.compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
546}
547
548void CallLogWrapper::glCompressedTexSubImage3D (glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLenum format, glw::GLsizei imageSize, const void *data)
549{
550	if (m_enableLog)
551		m_log << TestLog::Message << "glCompressedTexSubImage3D(" << toHex(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ", " << toHex(format) << ", " << imageSize << ", " << data << ");" << TestLog::EndMessage;
552	m_gl.compressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
553}
554
555void CallLogWrapper::glCompressedTextureSubImage1D (glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLsizei width, glw::GLenum format, glw::GLsizei imageSize, const void *data)
556{
557	if (m_enableLog)
558		m_log << TestLog::Message << "glCompressedTextureSubImage1D(" << texture << ", " << level << ", " << xoffset << ", " << width << ", " << toHex(format) << ", " << imageSize << ", " << data << ");" << TestLog::EndMessage;
559	m_gl.compressedTextureSubImage1D(texture, level, xoffset, width, format, imageSize, data);
560}
561
562void CallLogWrapper::glCompressedTextureSubImage2D (glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLsizei width, glw::GLsizei height, glw::GLenum format, glw::GLsizei imageSize, const void *data)
563{
564	if (m_enableLog)
565		m_log << TestLog::Message << "glCompressedTextureSubImage2D(" << texture << ", " << level << ", " << xoffset << ", " << yoffset << ", " << width << ", " << height << ", " << toHex(format) << ", " << imageSize << ", " << data << ");" << TestLog::EndMessage;
566	m_gl.compressedTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, imageSize, data);
567}
568
569void CallLogWrapper::glCompressedTextureSubImage3D (glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLenum format, glw::GLsizei imageSize, const void *data)
570{
571	if (m_enableLog)
572		m_log << TestLog::Message << "glCompressedTextureSubImage3D(" << texture << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ", " << toHex(format) << ", " << imageSize << ", " << data << ");" << TestLog::EndMessage;
573	m_gl.compressedTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
574}
575
576void CallLogWrapper::glCopyBufferSubData (glw::GLenum readTarget, glw::GLenum writeTarget, glw::GLintptr readOffset, glw::GLintptr writeOffset, glw::GLsizeiptr size)
577{
578	if (m_enableLog)
579		m_log << TestLog::Message << "glCopyBufferSubData(" << toHex(readTarget) << ", " << toHex(writeTarget) << ", " << readOffset << ", " << writeOffset << ", " << size << ");" << TestLog::EndMessage;
580	m_gl.copyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
581}
582
583void CallLogWrapper::glCopyImageSubData (glw::GLuint srcName, glw::GLenum srcTarget, glw::GLint srcLevel, glw::GLint srcX, glw::GLint srcY, glw::GLint srcZ, glw::GLuint dstName, glw::GLenum dstTarget, glw::GLint dstLevel, glw::GLint dstX, glw::GLint dstY, glw::GLint dstZ, glw::GLsizei srcWidth, glw::GLsizei srcHeight, glw::GLsizei srcDepth)
584{
585	if (m_enableLog)
586		m_log << TestLog::Message << "glCopyImageSubData(" << srcName << ", " << toHex(srcTarget) << ", " << srcLevel << ", " << srcX << ", " << srcY << ", " << srcZ << ", " << dstName << ", " << toHex(dstTarget) << ", " << dstLevel << ", " << dstX << ", " << dstY << ", " << dstZ << ", " << srcWidth << ", " << srcHeight << ", " << srcDepth << ");" << TestLog::EndMessage;
587	m_gl.copyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth);
588}
589
590void CallLogWrapper::glCopyNamedBufferSubData (glw::GLuint readBuffer, glw::GLuint writeBuffer, glw::GLintptr readOffset, glw::GLintptr writeOffset, glw::GLsizeiptr size)
591{
592	if (m_enableLog)
593		m_log << TestLog::Message << "glCopyNamedBufferSubData(" << readBuffer << ", " << writeBuffer << ", " << readOffset << ", " << writeOffset << ", " << size << ");" << TestLog::EndMessage;
594	m_gl.copyNamedBufferSubData(readBuffer, writeBuffer, readOffset, writeOffset, size);
595}
596
597void CallLogWrapper::glCopyTexImage1D (glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLint border)
598{
599	if (m_enableLog)
600		m_log << TestLog::Message << "glCopyTexImage1D(" << getTextureTargetStr(target) << ", " << level << ", " << getPixelFormatStr(internalformat) << ", " << x << ", " << y << ", " << width << ", " << border << ");" << TestLog::EndMessage;
601	m_gl.copyTexImage1D(target, level, internalformat, x, y, width, border);
602}
603
604void CallLogWrapper::glCopyTexImage2D (glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height, glw::GLint border)
605{
606	if (m_enableLog)
607		m_log << TestLog::Message << "glCopyTexImage2D(" << getTextureTargetStr(target) << ", " << level << ", " << getPixelFormatStr(internalformat) << ", " << x << ", " << y << ", " << width << ", " << height << ", " << border << ");" << TestLog::EndMessage;
608	m_gl.copyTexImage2D(target, level, internalformat, x, y, width, height, border);
609}
610
611void CallLogWrapper::glCopyTexSubImage1D (glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint x, glw::GLint y, glw::GLsizei width)
612{
613	if (m_enableLog)
614		m_log << TestLog::Message << "glCopyTexSubImage1D(" << toHex(target) << ", " << level << ", " << xoffset << ", " << x << ", " << y << ", " << width << ");" << TestLog::EndMessage;
615	m_gl.copyTexSubImage1D(target, level, xoffset, x, y, width);
616}
617
618void CallLogWrapper::glCopyTexSubImage2D (glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height)
619{
620	if (m_enableLog)
621		m_log << TestLog::Message << "glCopyTexSubImage2D(" << toHex(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << x << ", " << y << ", " << width << ", " << height << ");" << TestLog::EndMessage;
622	m_gl.copyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
623}
624
625void CallLogWrapper::glCopyTexSubImage3D (glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height)
626{
627	if (m_enableLog)
628		m_log << TestLog::Message << "glCopyTexSubImage3D(" << toHex(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << x << ", " << y << ", " << width << ", " << height << ");" << TestLog::EndMessage;
629	m_gl.copyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
630}
631
632void CallLogWrapper::glCopyTextureSubImage1D (glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLint x, glw::GLint y, glw::GLsizei width)
633{
634	if (m_enableLog)
635		m_log << TestLog::Message << "glCopyTextureSubImage1D(" << texture << ", " << level << ", " << xoffset << ", " << x << ", " << y << ", " << width << ");" << TestLog::EndMessage;
636	m_gl.copyTextureSubImage1D(texture, level, xoffset, x, y, width);
637}
638
639void CallLogWrapper::glCopyTextureSubImage2D (glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height)
640{
641	if (m_enableLog)
642		m_log << TestLog::Message << "glCopyTextureSubImage2D(" << texture << ", " << level << ", " << xoffset << ", " << yoffset << ", " << x << ", " << y << ", " << width << ", " << height << ");" << TestLog::EndMessage;
643	m_gl.copyTextureSubImage2D(texture, level, xoffset, yoffset, x, y, width, height);
644}
645
646void CallLogWrapper::glCopyTextureSubImage3D (glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height)
647{
648	if (m_enableLog)
649		m_log << TestLog::Message << "glCopyTextureSubImage3D(" << texture << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << x << ", " << y << ", " << width << ", " << height << ");" << TestLog::EndMessage;
650	m_gl.copyTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, x, y, width, height);
651}
652
653void CallLogWrapper::glCreateBuffers (glw::GLsizei n, glw::GLuint *buffers)
654{
655	if (m_enableLog)
656		m_log << TestLog::Message << "glCreateBuffers(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(buffers))) << ");" << TestLog::EndMessage;
657	m_gl.createBuffers(n, buffers);
658}
659
660void CallLogWrapper::glCreateFramebuffers (glw::GLsizei n, glw::GLuint *framebuffers)
661{
662	if (m_enableLog)
663		m_log << TestLog::Message << "glCreateFramebuffers(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(framebuffers))) << ");" << TestLog::EndMessage;
664	m_gl.createFramebuffers(n, framebuffers);
665}
666
667glw::GLuint CallLogWrapper::glCreateProgram (void)
668{
669	if (m_enableLog)
670		m_log << TestLog::Message << "glCreateProgram(" << ");" << TestLog::EndMessage;
671	glw::GLuint returnValue = m_gl.createProgram();
672	if (m_enableLog)
673		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
674	return returnValue;
675}
676
677void CallLogWrapper::glCreateProgramPipelines (glw::GLsizei n, glw::GLuint *pipelines)
678{
679	if (m_enableLog)
680		m_log << TestLog::Message << "glCreateProgramPipelines(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(pipelines))) << ");" << TestLog::EndMessage;
681	m_gl.createProgramPipelines(n, pipelines);
682}
683
684void CallLogWrapper::glCreateQueries (glw::GLenum target, glw::GLsizei n, glw::GLuint *ids)
685{
686	if (m_enableLog)
687		m_log << TestLog::Message << "glCreateQueries(" << toHex(target) << ", " << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(ids))) << ");" << TestLog::EndMessage;
688	m_gl.createQueries(target, n, ids);
689}
690
691void CallLogWrapper::glCreateRenderbuffers (glw::GLsizei n, glw::GLuint *renderbuffers)
692{
693	if (m_enableLog)
694		m_log << TestLog::Message << "glCreateRenderbuffers(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(renderbuffers))) << ");" << TestLog::EndMessage;
695	m_gl.createRenderbuffers(n, renderbuffers);
696}
697
698void CallLogWrapper::glCreateSamplers (glw::GLsizei n, glw::GLuint *samplers)
699{
700	if (m_enableLog)
701		m_log << TestLog::Message << "glCreateSamplers(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(samplers))) << ");" << TestLog::EndMessage;
702	m_gl.createSamplers(n, samplers);
703}
704
705glw::GLuint CallLogWrapper::glCreateShader (glw::GLenum type)
706{
707	if (m_enableLog)
708		m_log << TestLog::Message << "glCreateShader(" << getShaderTypeStr(type) << ");" << TestLog::EndMessage;
709	glw::GLuint returnValue = m_gl.createShader(type);
710	if (m_enableLog)
711		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
712	return returnValue;
713}
714
715glw::GLuint CallLogWrapper::glCreateShaderProgramv (glw::GLenum type, glw::GLsizei count, const glw::GLchar *const*strings)
716{
717	if (m_enableLog)
718		m_log << TestLog::Message << "glCreateShaderProgramv(" << toHex(type) << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(strings))) << ");" << TestLog::EndMessage;
719	glw::GLuint returnValue = m_gl.createShaderProgramv(type, count, strings);
720	if (m_enableLog)
721		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
722	return returnValue;
723}
724
725void CallLogWrapper::glCreateTextures (glw::GLenum target, glw::GLsizei n, glw::GLuint *textures)
726{
727	if (m_enableLog)
728		m_log << TestLog::Message << "glCreateTextures(" << toHex(target) << ", " << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(textures))) << ");" << TestLog::EndMessage;
729	m_gl.createTextures(target, n, textures);
730}
731
732void CallLogWrapper::glCreateTransformFeedbacks (glw::GLsizei n, glw::GLuint *ids)
733{
734	if (m_enableLog)
735		m_log << TestLog::Message << "glCreateTransformFeedbacks(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(ids))) << ");" << TestLog::EndMessage;
736	m_gl.createTransformFeedbacks(n, ids);
737}
738
739void CallLogWrapper::glCreateVertexArrays (glw::GLsizei n, glw::GLuint *arrays)
740{
741	if (m_enableLog)
742		m_log << TestLog::Message << "glCreateVertexArrays(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(arrays))) << ");" << TestLog::EndMessage;
743	m_gl.createVertexArrays(n, arrays);
744}
745
746void CallLogWrapper::glCullFace (glw::GLenum mode)
747{
748	if (m_enableLog)
749		m_log << TestLog::Message << "glCullFace(" << getFaceStr(mode) << ");" << TestLog::EndMessage;
750	m_gl.cullFace(mode);
751}
752
753void CallLogWrapper::glDebugMessageCallback (glw::GLDEBUGPROC callback, const void *userParam)
754{
755	if (m_enableLog)
756		m_log << TestLog::Message << "glDebugMessageCallback(" << toHex(reinterpret_cast<deUintptr>(callback)) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(userParam))) << ");" << TestLog::EndMessage;
757	m_gl.debugMessageCallback(callback, userParam);
758}
759
760void CallLogWrapper::glDebugMessageControl (glw::GLenum source, glw::GLenum type, glw::GLenum severity, glw::GLsizei count, const glw::GLuint *ids, glw::GLboolean enabled)
761{
762	if (m_enableLog)
763		m_log << TestLog::Message << "glDebugMessageControl(" << getDebugMessageSourceStr(source) << ", " << getDebugMessageTypeStr(type) << ", " << getDebugMessageSeverityStr(severity) << ", " << count << ", " << getPointerStr(ids, (count)) << ", " << getBooleanStr(enabled) << ");" << TestLog::EndMessage;
764	m_gl.debugMessageControl(source, type, severity, count, ids, enabled);
765}
766
767void CallLogWrapper::glDebugMessageInsert (glw::GLenum source, glw::GLenum type, glw::GLuint id, glw::GLenum severity, glw::GLsizei length, const glw::GLchar *buf)
768{
769	if (m_enableLog)
770		m_log << TestLog::Message << "glDebugMessageInsert(" << getDebugMessageSourceStr(source) << ", " << getDebugMessageTypeStr(type) << ", " << id << ", " << getDebugMessageSeverityStr(severity) << ", " << length << ", " << getStringStr(buf) << ");" << TestLog::EndMessage;
771	m_gl.debugMessageInsert(source, type, id, severity, length, buf);
772}
773
774void CallLogWrapper::glDeleteBuffers (glw::GLsizei n, const glw::GLuint *buffers)
775{
776	if (m_enableLog)
777		m_log << TestLog::Message << "glDeleteBuffers(" << n << ", " << getPointerStr(buffers, n) << ");" << TestLog::EndMessage;
778	m_gl.deleteBuffers(n, buffers);
779}
780
781void CallLogWrapper::glDeleteFramebuffers (glw::GLsizei n, const glw::GLuint *framebuffers)
782{
783	if (m_enableLog)
784		m_log << TestLog::Message << "glDeleteFramebuffers(" << n << ", " << getPointerStr(framebuffers, n) << ");" << TestLog::EndMessage;
785	m_gl.deleteFramebuffers(n, framebuffers);
786}
787
788void CallLogWrapper::glDeleteProgram (glw::GLuint program)
789{
790	if (m_enableLog)
791		m_log << TestLog::Message << "glDeleteProgram(" << program << ");" << TestLog::EndMessage;
792	m_gl.deleteProgram(program);
793}
794
795void CallLogWrapper::glDeleteProgramPipelines (glw::GLsizei n, const glw::GLuint *pipelines)
796{
797	if (m_enableLog)
798		m_log << TestLog::Message << "glDeleteProgramPipelines(" << n << ", " << getPointerStr(pipelines, n) << ");" << TestLog::EndMessage;
799	m_gl.deleteProgramPipelines(n, pipelines);
800}
801
802void CallLogWrapper::glDeleteQueries (glw::GLsizei n, const glw::GLuint *ids)
803{
804	if (m_enableLog)
805		m_log << TestLog::Message << "glDeleteQueries(" << n << ", " << getPointerStr(ids, n) << ");" << TestLog::EndMessage;
806	m_gl.deleteQueries(n, ids);
807}
808
809void CallLogWrapper::glDeleteRenderbuffers (glw::GLsizei n, const glw::GLuint *renderbuffers)
810{
811	if (m_enableLog)
812		m_log << TestLog::Message << "glDeleteRenderbuffers(" << n << ", " << getPointerStr(renderbuffers, n) << ");" << TestLog::EndMessage;
813	m_gl.deleteRenderbuffers(n, renderbuffers);
814}
815
816void CallLogWrapper::glDeleteSamplers (glw::GLsizei count, const glw::GLuint *samplers)
817{
818	if (m_enableLog)
819		m_log << TestLog::Message << "glDeleteSamplers(" << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(samplers))) << ");" << TestLog::EndMessage;
820	m_gl.deleteSamplers(count, samplers);
821}
822
823void CallLogWrapper::glDeleteShader (glw::GLuint shader)
824{
825	if (m_enableLog)
826		m_log << TestLog::Message << "glDeleteShader(" << shader << ");" << TestLog::EndMessage;
827	m_gl.deleteShader(shader);
828}
829
830void CallLogWrapper::glDeleteSync (glw::GLsync sync)
831{
832	if (m_enableLog)
833		m_log << TestLog::Message << "glDeleteSync(" << sync << ");" << TestLog::EndMessage;
834	m_gl.deleteSync(sync);
835}
836
837void CallLogWrapper::glDeleteTextures (glw::GLsizei n, const glw::GLuint *textures)
838{
839	if (m_enableLog)
840		m_log << TestLog::Message << "glDeleteTextures(" << n << ", " << getPointerStr(textures, n) << ");" << TestLog::EndMessage;
841	m_gl.deleteTextures(n, textures);
842}
843
844void CallLogWrapper::glDeleteTransformFeedbacks (glw::GLsizei n, const glw::GLuint *ids)
845{
846	if (m_enableLog)
847		m_log << TestLog::Message << "glDeleteTransformFeedbacks(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(ids))) << ");" << TestLog::EndMessage;
848	m_gl.deleteTransformFeedbacks(n, ids);
849}
850
851void CallLogWrapper::glDeleteVertexArrays (glw::GLsizei n, const glw::GLuint *arrays)
852{
853	if (m_enableLog)
854		m_log << TestLog::Message << "glDeleteVertexArrays(" << n << ", " << getPointerStr(arrays, n) << ");" << TestLog::EndMessage;
855	m_gl.deleteVertexArrays(n, arrays);
856}
857
858void CallLogWrapper::glDepthFunc (glw::GLenum func)
859{
860	if (m_enableLog)
861		m_log << TestLog::Message << "glDepthFunc(" << getCompareFuncStr(func) << ");" << TestLog::EndMessage;
862	m_gl.depthFunc(func);
863}
864
865void CallLogWrapper::glDepthMask (glw::GLboolean flag)
866{
867	if (m_enableLog)
868		m_log << TestLog::Message << "glDepthMask(" << getBooleanStr(flag) << ");" << TestLog::EndMessage;
869	m_gl.depthMask(flag);
870}
871
872void CallLogWrapper::glDepthRange (glw::GLdouble near, glw::GLdouble far)
873{
874	if (m_enableLog)
875		m_log << TestLog::Message << "glDepthRange(" << near << ", " << far << ");" << TestLog::EndMessage;
876	m_gl.depthRange(near, far);
877}
878
879void CallLogWrapper::glDepthRangeArrayv (glw::GLuint first, glw::GLsizei count, const glw::GLdouble *v)
880{
881	if (m_enableLog)
882		m_log << TestLog::Message << "glDepthRangeArrayv(" << first << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(v))) << ");" << TestLog::EndMessage;
883	m_gl.depthRangeArrayv(first, count, v);
884}
885
886void CallLogWrapper::glDepthRangeIndexed (glw::GLuint index, glw::GLdouble n, glw::GLdouble f)
887{
888	if (m_enableLog)
889		m_log << TestLog::Message << "glDepthRangeIndexed(" << index << ", " << n << ", " << f << ");" << TestLog::EndMessage;
890	m_gl.depthRangeIndexed(index, n, f);
891}
892
893void CallLogWrapper::glDepthRangef (glw::GLfloat n, glw::GLfloat f)
894{
895	if (m_enableLog)
896		m_log << TestLog::Message << "glDepthRangef(" << n << ", " << f << ");" << TestLog::EndMessage;
897	m_gl.depthRangef(n, f);
898}
899
900void CallLogWrapper::glDetachShader (glw::GLuint program, glw::GLuint shader)
901{
902	if (m_enableLog)
903		m_log << TestLog::Message << "glDetachShader(" << program << ", " << shader << ");" << TestLog::EndMessage;
904	m_gl.detachShader(program, shader);
905}
906
907void CallLogWrapper::glDisable (glw::GLenum cap)
908{
909	if (m_enableLog)
910		m_log << TestLog::Message << "glDisable(" << getEnableCapStr(cap) << ");" << TestLog::EndMessage;
911	m_gl.disable(cap);
912}
913
914void CallLogWrapper::glDisableVertexArrayAttrib (glw::GLuint vaobj, glw::GLuint index)
915{
916	if (m_enableLog)
917		m_log << TestLog::Message << "glDisableVertexArrayAttrib(" << vaobj << ", " << index << ");" << TestLog::EndMessage;
918	m_gl.disableVertexArrayAttrib(vaobj, index);
919}
920
921void CallLogWrapper::glDisableVertexAttribArray (glw::GLuint index)
922{
923	if (m_enableLog)
924		m_log << TestLog::Message << "glDisableVertexAttribArray(" << index << ");" << TestLog::EndMessage;
925	m_gl.disableVertexAttribArray(index);
926}
927
928void CallLogWrapper::glDisablei (glw::GLenum target, glw::GLuint index)
929{
930	if (m_enableLog)
931		m_log << TestLog::Message << "glDisablei(" << getIndexedEnableCapStr(target) << ", " << index << ");" << TestLog::EndMessage;
932	m_gl.disablei(target, index);
933}
934
935void CallLogWrapper::glDispatchCompute (glw::GLuint num_groups_x, glw::GLuint num_groups_y, glw::GLuint num_groups_z)
936{
937	if (m_enableLog)
938		m_log << TestLog::Message << "glDispatchCompute(" << num_groups_x << ", " << num_groups_y << ", " << num_groups_z << ");" << TestLog::EndMessage;
939	m_gl.dispatchCompute(num_groups_x, num_groups_y, num_groups_z);
940}
941
942void CallLogWrapper::glDispatchComputeIndirect (glw::GLintptr indirect)
943{
944	if (m_enableLog)
945		m_log << TestLog::Message << "glDispatchComputeIndirect(" << indirect << ");" << TestLog::EndMessage;
946	m_gl.dispatchComputeIndirect(indirect);
947}
948
949void CallLogWrapper::glDrawArrays (glw::GLenum mode, glw::GLint first, glw::GLsizei count)
950{
951	if (m_enableLog)
952		m_log << TestLog::Message << "glDrawArrays(" << getPrimitiveTypeStr(mode) << ", " << first << ", " << count << ");" << TestLog::EndMessage;
953	m_gl.drawArrays(mode, first, count);
954}
955
956void CallLogWrapper::glDrawArraysIndirect (glw::GLenum mode, const void *indirect)
957{
958	if (m_enableLog)
959		m_log << TestLog::Message << "glDrawArraysIndirect(" << getPrimitiveTypeStr(mode) << ", " << indirect << ");" << TestLog::EndMessage;
960	m_gl.drawArraysIndirect(mode, indirect);
961}
962
963void CallLogWrapper::glDrawArraysInstanced (glw::GLenum mode, glw::GLint first, glw::GLsizei count, glw::GLsizei instancecount)
964{
965	if (m_enableLog)
966		m_log << TestLog::Message << "glDrawArraysInstanced(" << getPrimitiveTypeStr(mode) << ", " << first << ", " << count << ", " << instancecount << ");" << TestLog::EndMessage;
967	m_gl.drawArraysInstanced(mode, first, count, instancecount);
968}
969
970void CallLogWrapper::glDrawArraysInstancedBaseInstance (glw::GLenum mode, glw::GLint first, glw::GLsizei count, glw::GLsizei instancecount, glw::GLuint baseinstance)
971{
972	if (m_enableLog)
973		m_log << TestLog::Message << "glDrawArraysInstancedBaseInstance(" << toHex(mode) << ", " << first << ", " << count << ", " << instancecount << ", " << baseinstance << ");" << TestLog::EndMessage;
974	m_gl.drawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance);
975}
976
977void CallLogWrapper::glDrawBuffer (glw::GLenum buf)
978{
979	if (m_enableLog)
980		m_log << TestLog::Message << "glDrawBuffer(" << toHex(buf) << ");" << TestLog::EndMessage;
981	m_gl.drawBuffer(buf);
982}
983
984void CallLogWrapper::glDrawBuffers (glw::GLsizei n, const glw::GLenum *bufs)
985{
986	if (m_enableLog)
987		m_log << TestLog::Message << "glDrawBuffers(" << n << ", " << getEnumPointerStr(bufs, n, getDrawReadBufferName) << ");" << TestLog::EndMessage;
988	m_gl.drawBuffers(n, bufs);
989}
990
991void CallLogWrapper::glDrawElements (glw::GLenum mode, glw::GLsizei count, glw::GLenum type, const void *indices)
992{
993	if (m_enableLog)
994		m_log << TestLog::Message << "glDrawElements(" << getPrimitiveTypeStr(mode) << ", " << count << ", " << getTypeStr(type) << ", " << indices << ");" << TestLog::EndMessage;
995	m_gl.drawElements(mode, count, type, indices);
996}
997
998void CallLogWrapper::glDrawElementsBaseVertex (glw::GLenum mode, glw::GLsizei count, glw::GLenum type, const void *indices, glw::GLint basevertex)
999{
1000	if (m_enableLog)
1001		m_log << TestLog::Message << "glDrawElementsBaseVertex(" << getPrimitiveTypeStr(mode) << ", " << count << ", " << getTypeStr(type) << ", " << indices << ", " << basevertex << ");" << TestLog::EndMessage;
1002	m_gl.drawElementsBaseVertex(mode, count, type, indices, basevertex);
1003}
1004
1005void CallLogWrapper::glDrawElementsIndirect (glw::GLenum mode, glw::GLenum type, const void *indirect)
1006{
1007	if (m_enableLog)
1008		m_log << TestLog::Message << "glDrawElementsIndirect(" << getPrimitiveTypeStr(mode) << ", " << getTypeStr(type) << ", " << indirect << ");" << TestLog::EndMessage;
1009	m_gl.drawElementsIndirect(mode, type, indirect);
1010}
1011
1012void CallLogWrapper::glDrawElementsInstanced (glw::GLenum mode, glw::GLsizei count, glw::GLenum type, const void *indices, glw::GLsizei instancecount)
1013{
1014	if (m_enableLog)
1015		m_log << TestLog::Message << "glDrawElementsInstanced(" << getPrimitiveTypeStr(mode) << ", " << count << ", " << getTypeStr(type) << ", " << indices << ", " << instancecount << ");" << TestLog::EndMessage;
1016	m_gl.drawElementsInstanced(mode, count, type, indices, instancecount);
1017}
1018
1019void CallLogWrapper::glDrawElementsInstancedBaseInstance (glw::GLenum mode, glw::GLsizei count, glw::GLenum type, const void *indices, glw::GLsizei instancecount, glw::GLuint baseinstance)
1020{
1021	if (m_enableLog)
1022		m_log << TestLog::Message << "glDrawElementsInstancedBaseInstance(" << toHex(mode) << ", " << count << ", " << toHex(type) << ", " << indices << ", " << instancecount << ", " << baseinstance << ");" << TestLog::EndMessage;
1023	m_gl.drawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance);
1024}
1025
1026void CallLogWrapper::glDrawElementsInstancedBaseVertex (glw::GLenum mode, glw::GLsizei count, glw::GLenum type, const void *indices, glw::GLsizei instancecount, glw::GLint basevertex)
1027{
1028	if (m_enableLog)
1029		m_log << TestLog::Message << "glDrawElementsInstancedBaseVertex(" << getPrimitiveTypeStr(mode) << ", " << count << ", " << getTypeStr(type) << ", " << indices << ", " << instancecount << ", " << basevertex << ");" << TestLog::EndMessage;
1030	m_gl.drawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex);
1031}
1032
1033void CallLogWrapper::glDrawElementsInstancedBaseVertexBaseInstance (glw::GLenum mode, glw::GLsizei count, glw::GLenum type, const void *indices, glw::GLsizei instancecount, glw::GLint basevertex, glw::GLuint baseinstance)
1034{
1035	if (m_enableLog)
1036		m_log << TestLog::Message << "glDrawElementsInstancedBaseVertexBaseInstance(" << toHex(mode) << ", " << count << ", " << toHex(type) << ", " << indices << ", " << instancecount << ", " << basevertex << ", " << baseinstance << ");" << TestLog::EndMessage;
1037	m_gl.drawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance);
1038}
1039
1040void CallLogWrapper::glDrawRangeElements (glw::GLenum mode, glw::GLuint start, glw::GLuint end, glw::GLsizei count, glw::GLenum type, const void *indices)
1041{
1042	if (m_enableLog)
1043		m_log << TestLog::Message << "glDrawRangeElements(" << getPrimitiveTypeStr(mode) << ", " << start << ", " << end << ", " << count << ", " << getTypeStr(type) << ", " << indices << ");" << TestLog::EndMessage;
1044	m_gl.drawRangeElements(mode, start, end, count, type, indices);
1045}
1046
1047void CallLogWrapper::glDrawRangeElementsBaseVertex (glw::GLenum mode, glw::GLuint start, glw::GLuint end, glw::GLsizei count, glw::GLenum type, const void *indices, glw::GLint basevertex)
1048{
1049	if (m_enableLog)
1050		m_log << TestLog::Message << "glDrawRangeElementsBaseVertex(" << getPrimitiveTypeStr(mode) << ", " << start << ", " << end << ", " << count << ", " << getTypeStr(type) << ", " << indices << ", " << basevertex << ");" << TestLog::EndMessage;
1051	m_gl.drawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex);
1052}
1053
1054void CallLogWrapper::glDrawTransformFeedback (glw::GLenum mode, glw::GLuint id)
1055{
1056	if (m_enableLog)
1057		m_log << TestLog::Message << "glDrawTransformFeedback(" << toHex(mode) << ", " << id << ");" << TestLog::EndMessage;
1058	m_gl.drawTransformFeedback(mode, id);
1059}
1060
1061void CallLogWrapper::glDrawTransformFeedbackInstanced (glw::GLenum mode, glw::GLuint id, glw::GLsizei instancecount)
1062{
1063	if (m_enableLog)
1064		m_log << TestLog::Message << "glDrawTransformFeedbackInstanced(" << toHex(mode) << ", " << id << ", " << instancecount << ");" << TestLog::EndMessage;
1065	m_gl.drawTransformFeedbackInstanced(mode, id, instancecount);
1066}
1067
1068void CallLogWrapper::glDrawTransformFeedbackStream (glw::GLenum mode, glw::GLuint id, glw::GLuint stream)
1069{
1070	if (m_enableLog)
1071		m_log << TestLog::Message << "glDrawTransformFeedbackStream(" << toHex(mode) << ", " << id << ", " << stream << ");" << TestLog::EndMessage;
1072	m_gl.drawTransformFeedbackStream(mode, id, stream);
1073}
1074
1075void CallLogWrapper::glDrawTransformFeedbackStreamInstanced (glw::GLenum mode, glw::GLuint id, glw::GLuint stream, glw::GLsizei instancecount)
1076{
1077	if (m_enableLog)
1078		m_log << TestLog::Message << "glDrawTransformFeedbackStreamInstanced(" << toHex(mode) << ", " << id << ", " << stream << ", " << instancecount << ");" << TestLog::EndMessage;
1079	m_gl.drawTransformFeedbackStreamInstanced(mode, id, stream, instancecount);
1080}
1081
1082void CallLogWrapper::glEGLImageTargetRenderbufferStorageOES (glw::GLenum target, glw::GLeglImageOES image)
1083{
1084	if (m_enableLog)
1085		m_log << TestLog::Message << "glEGLImageTargetRenderbufferStorageOES(" << toHex(target) << ", " << image << ");" << TestLog::EndMessage;
1086	m_gl.eglImageTargetRenderbufferStorageOES(target, image);
1087}
1088
1089void CallLogWrapper::glEGLImageTargetTexture2DOES (glw::GLenum target, glw::GLeglImageOES image)
1090{
1091	if (m_enableLog)
1092		m_log << TestLog::Message << "glEGLImageTargetTexture2DOES(" << toHex(target) << ", " << image << ");" << TestLog::EndMessage;
1093	m_gl.eglImageTargetTexture2DOES(target, image);
1094}
1095
1096void CallLogWrapper::glEnable (glw::GLenum cap)
1097{
1098	if (m_enableLog)
1099		m_log << TestLog::Message << "glEnable(" << getEnableCapStr(cap) << ");" << TestLog::EndMessage;
1100	m_gl.enable(cap);
1101}
1102
1103void CallLogWrapper::glEnableVertexArrayAttrib (glw::GLuint vaobj, glw::GLuint index)
1104{
1105	if (m_enableLog)
1106		m_log << TestLog::Message << "glEnableVertexArrayAttrib(" << vaobj << ", " << index << ");" << TestLog::EndMessage;
1107	m_gl.enableVertexArrayAttrib(vaobj, index);
1108}
1109
1110void CallLogWrapper::glEnableVertexAttribArray (glw::GLuint index)
1111{
1112	if (m_enableLog)
1113		m_log << TestLog::Message << "glEnableVertexAttribArray(" << index << ");" << TestLog::EndMessage;
1114	m_gl.enableVertexAttribArray(index);
1115}
1116
1117void CallLogWrapper::glEnablei (glw::GLenum target, glw::GLuint index)
1118{
1119	if (m_enableLog)
1120		m_log << TestLog::Message << "glEnablei(" << getIndexedEnableCapStr(target) << ", " << index << ");" << TestLog::EndMessage;
1121	m_gl.enablei(target, index);
1122}
1123
1124void CallLogWrapper::glEndConditionalRender (void)
1125{
1126	if (m_enableLog)
1127		m_log << TestLog::Message << "glEndConditionalRender(" << ");" << TestLog::EndMessage;
1128	m_gl.endConditionalRender();
1129}
1130
1131void CallLogWrapper::glEndQuery (glw::GLenum target)
1132{
1133	if (m_enableLog)
1134		m_log << TestLog::Message << "glEndQuery(" << getQueryTargetStr(target) << ");" << TestLog::EndMessage;
1135	m_gl.endQuery(target);
1136}
1137
1138void CallLogWrapper::glEndQueryIndexed (glw::GLenum target, glw::GLuint index)
1139{
1140	if (m_enableLog)
1141		m_log << TestLog::Message << "glEndQueryIndexed(" << toHex(target) << ", " << index << ");" << TestLog::EndMessage;
1142	m_gl.endQueryIndexed(target, index);
1143}
1144
1145void CallLogWrapper::glEndTransformFeedback (void)
1146{
1147	if (m_enableLog)
1148		m_log << TestLog::Message << "glEndTransformFeedback(" << ");" << TestLog::EndMessage;
1149	m_gl.endTransformFeedback();
1150}
1151
1152glw::GLsync CallLogWrapper::glFenceSync (glw::GLenum condition, glw::GLbitfield flags)
1153{
1154	if (m_enableLog)
1155		m_log << TestLog::Message << "glFenceSync(" << toHex(condition) << ", " << toHex(flags) << ");" << TestLog::EndMessage;
1156	glw::GLsync returnValue = m_gl.fenceSync(condition, flags);
1157	if (m_enableLog)
1158		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
1159	return returnValue;
1160}
1161
1162void CallLogWrapper::glFinish (void)
1163{
1164	if (m_enableLog)
1165		m_log << TestLog::Message << "glFinish(" << ");" << TestLog::EndMessage;
1166	m_gl.finish();
1167}
1168
1169void CallLogWrapper::glFlush (void)
1170{
1171	if (m_enableLog)
1172		m_log << TestLog::Message << "glFlush(" << ");" << TestLog::EndMessage;
1173	m_gl.flush();
1174}
1175
1176void CallLogWrapper::glFlushMappedBufferRange (glw::GLenum target, glw::GLintptr offset, glw::GLsizeiptr length)
1177{
1178	if (m_enableLog)
1179		m_log << TestLog::Message << "glFlushMappedBufferRange(" << getBufferTargetStr(target) << ", " << offset << ", " << length << ");" << TestLog::EndMessage;
1180	m_gl.flushMappedBufferRange(target, offset, length);
1181}
1182
1183void CallLogWrapper::glFlushMappedNamedBufferRange (glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr length)
1184{
1185	if (m_enableLog)
1186		m_log << TestLog::Message << "glFlushMappedNamedBufferRange(" << buffer << ", " << offset << ", " << length << ");" << TestLog::EndMessage;
1187	m_gl.flushMappedNamedBufferRange(buffer, offset, length);
1188}
1189
1190void CallLogWrapper::glFramebufferParameteri (glw::GLenum target, glw::GLenum pname, glw::GLint param)
1191{
1192	if (m_enableLog)
1193		m_log << TestLog::Message << "glFramebufferParameteri(" << getFramebufferTargetStr(target) << ", " << getFramebufferParameterStr(pname) << ", " << param << ");" << TestLog::EndMessage;
1194	m_gl.framebufferParameteri(target, pname, param);
1195}
1196
1197void CallLogWrapper::glFramebufferRenderbuffer (glw::GLenum target, glw::GLenum attachment, glw::GLenum renderbuffertarget, glw::GLuint renderbuffer)
1198{
1199	if (m_enableLog)
1200		m_log << TestLog::Message << "glFramebufferRenderbuffer(" << getFramebufferTargetStr(target) << ", " << getFramebufferAttachmentStr(attachment) << ", " << getFramebufferTargetStr(renderbuffertarget) << ", " << renderbuffer << ");" << TestLog::EndMessage;
1201	m_gl.framebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
1202}
1203
1204void CallLogWrapper::glFramebufferTexture (glw::GLenum target, glw::GLenum attachment, glw::GLuint texture, glw::GLint level)
1205{
1206	if (m_enableLog)
1207		m_log << TestLog::Message << "glFramebufferTexture(" << getFramebufferTargetStr(target) << ", " << getFramebufferAttachmentStr(attachment) << ", " << texture << ", " << level << ");" << TestLog::EndMessage;
1208	m_gl.framebufferTexture(target, attachment, texture, level);
1209}
1210
1211void CallLogWrapper::glFramebufferTexture1D (glw::GLenum target, glw::GLenum attachment, glw::GLenum textarget, glw::GLuint texture, glw::GLint level)
1212{
1213	if (m_enableLog)
1214		m_log << TestLog::Message << "glFramebufferTexture1D(" << toHex(target) << ", " << toHex(attachment) << ", " << toHex(textarget) << ", " << texture << ", " << level << ");" << TestLog::EndMessage;
1215	m_gl.framebufferTexture1D(target, attachment, textarget, texture, level);
1216}
1217
1218void CallLogWrapper::glFramebufferTexture2D (glw::GLenum target, glw::GLenum attachment, glw::GLenum textarget, glw::GLuint texture, glw::GLint level)
1219{
1220	if (m_enableLog)
1221		m_log << TestLog::Message << "glFramebufferTexture2D(" << getFramebufferTargetStr(target) << ", " << getFramebufferAttachmentStr(attachment) << ", " << getTextureTargetStr(textarget) << ", " << texture << ", " << level << ");" << TestLog::EndMessage;
1222	m_gl.framebufferTexture2D(target, attachment, textarget, texture, level);
1223}
1224
1225void CallLogWrapper::glFramebufferTexture3D (glw::GLenum target, glw::GLenum attachment, glw::GLenum textarget, glw::GLuint texture, glw::GLint level, glw::GLint zoffset)
1226{
1227	if (m_enableLog)
1228		m_log << TestLog::Message << "glFramebufferTexture3D(" << toHex(target) << ", " << toHex(attachment) << ", " << toHex(textarget) << ", " << texture << ", " << level << ", " << zoffset << ");" << TestLog::EndMessage;
1229	m_gl.framebufferTexture3D(target, attachment, textarget, texture, level, zoffset);
1230}
1231
1232void CallLogWrapper::glFramebufferTextureLayer (glw::GLenum target, glw::GLenum attachment, glw::GLuint texture, glw::GLint level, glw::GLint layer)
1233{
1234	if (m_enableLog)
1235		m_log << TestLog::Message << "glFramebufferTextureLayer(" << getFramebufferTargetStr(target) << ", " << getFramebufferAttachmentStr(attachment) << ", " << texture << ", " << level << ", " << layer << ");" << TestLog::EndMessage;
1236	m_gl.framebufferTextureLayer(target, attachment, texture, level, layer);
1237}
1238
1239void CallLogWrapper::glFrontFace (glw::GLenum mode)
1240{
1241	if (m_enableLog)
1242		m_log << TestLog::Message << "glFrontFace(" << getWindingStr(mode) << ");" << TestLog::EndMessage;
1243	m_gl.frontFace(mode);
1244}
1245
1246void CallLogWrapper::glGenBuffers (glw::GLsizei n, glw::GLuint *buffers)
1247{
1248	if (m_enableLog)
1249		m_log << TestLog::Message << "glGenBuffers(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(buffers))) << ");" << TestLog::EndMessage;
1250	m_gl.genBuffers(n, buffers);
1251	if (m_enableLog)
1252		m_log << TestLog::Message << "// buffers = " << getPointerStr(buffers, n) << TestLog::EndMessage;
1253}
1254
1255void CallLogWrapper::glGenFramebuffers (glw::GLsizei n, glw::GLuint *framebuffers)
1256{
1257	if (m_enableLog)
1258		m_log << TestLog::Message << "glGenFramebuffers(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(framebuffers))) << ");" << TestLog::EndMessage;
1259	m_gl.genFramebuffers(n, framebuffers);
1260	if (m_enableLog)
1261		m_log << TestLog::Message << "// framebuffers = " << getPointerStr(framebuffers, n) << TestLog::EndMessage;
1262}
1263
1264void CallLogWrapper::glGenProgramPipelines (glw::GLsizei n, glw::GLuint *pipelines)
1265{
1266	if (m_enableLog)
1267		m_log << TestLog::Message << "glGenProgramPipelines(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(pipelines))) << ");" << TestLog::EndMessage;
1268	m_gl.genProgramPipelines(n, pipelines);
1269	if (m_enableLog)
1270		m_log << TestLog::Message << "// pipelines = " << getPointerStr(pipelines, n) << TestLog::EndMessage;
1271}
1272
1273void CallLogWrapper::glGenQueries (glw::GLsizei n, glw::GLuint *ids)
1274{
1275	if (m_enableLog)
1276		m_log << TestLog::Message << "glGenQueries(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(ids))) << ");" << TestLog::EndMessage;
1277	m_gl.genQueries(n, ids);
1278	if (m_enableLog)
1279		m_log << TestLog::Message << "// ids = " << getPointerStr(ids, n) << TestLog::EndMessage;
1280}
1281
1282void CallLogWrapper::glGenRenderbuffers (glw::GLsizei n, glw::GLuint *renderbuffers)
1283{
1284	if (m_enableLog)
1285		m_log << TestLog::Message << "glGenRenderbuffers(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(renderbuffers))) << ");" << TestLog::EndMessage;
1286	m_gl.genRenderbuffers(n, renderbuffers);
1287	if (m_enableLog)
1288		m_log << TestLog::Message << "// renderbuffers = " << getPointerStr(renderbuffers, n) << TestLog::EndMessage;
1289}
1290
1291void CallLogWrapper::glGenSamplers (glw::GLsizei count, glw::GLuint *samplers)
1292{
1293	if (m_enableLog)
1294		m_log << TestLog::Message << "glGenSamplers(" << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(samplers))) << ");" << TestLog::EndMessage;
1295	m_gl.genSamplers(count, samplers);
1296}
1297
1298void CallLogWrapper::glGenTextures (glw::GLsizei n, glw::GLuint *textures)
1299{
1300	if (m_enableLog)
1301		m_log << TestLog::Message << "glGenTextures(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(textures))) << ");" << TestLog::EndMessage;
1302	m_gl.genTextures(n, textures);
1303	if (m_enableLog)
1304		m_log << TestLog::Message << "// textures = " << getPointerStr(textures, n) << TestLog::EndMessage;
1305}
1306
1307void CallLogWrapper::glGenTransformFeedbacks (glw::GLsizei n, glw::GLuint *ids)
1308{
1309	if (m_enableLog)
1310		m_log << TestLog::Message << "glGenTransformFeedbacks(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(ids))) << ");" << TestLog::EndMessage;
1311	m_gl.genTransformFeedbacks(n, ids);
1312	if (m_enableLog)
1313		m_log << TestLog::Message << "// ids = " << getPointerStr(ids, n) << TestLog::EndMessage;
1314}
1315
1316void CallLogWrapper::glGenVertexArrays (glw::GLsizei n, glw::GLuint *arrays)
1317{
1318	if (m_enableLog)
1319		m_log << TestLog::Message << "glGenVertexArrays(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(arrays))) << ");" << TestLog::EndMessage;
1320	m_gl.genVertexArrays(n, arrays);
1321	if (m_enableLog)
1322		m_log << TestLog::Message << "// arrays = " << getPointerStr(arrays, n) << TestLog::EndMessage;
1323}
1324
1325void CallLogWrapper::glGenerateMipmap (glw::GLenum target)
1326{
1327	if (m_enableLog)
1328		m_log << TestLog::Message << "glGenerateMipmap(" << getTextureTargetStr(target) << ");" << TestLog::EndMessage;
1329	m_gl.generateMipmap(target);
1330}
1331
1332void CallLogWrapper::glGenerateTextureMipmap (glw::GLuint texture)
1333{
1334	if (m_enableLog)
1335		m_log << TestLog::Message << "glGenerateTextureMipmap(" << texture << ");" << TestLog::EndMessage;
1336	m_gl.generateTextureMipmap(texture);
1337}
1338
1339void CallLogWrapper::glGetActiveAtomicCounterBufferiv (glw::GLuint program, glw::GLuint bufferIndex, glw::GLenum pname, glw::GLint *params)
1340{
1341	if (m_enableLog)
1342		m_log << TestLog::Message << "glGetActiveAtomicCounterBufferiv(" << program << ", " << bufferIndex << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1343	m_gl.getActiveAtomicCounterBufferiv(program, bufferIndex, pname, params);
1344}
1345
1346void CallLogWrapper::glGetActiveAttrib (glw::GLuint program, glw::GLuint index, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLint *size, glw::GLenum *type, glw::GLchar *name)
1347{
1348	if (m_enableLog)
1349		m_log << TestLog::Message << "glGetActiveAttrib(" << program << ", " << index << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(length))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(size))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(type))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(name))) << ");" << TestLog::EndMessage;
1350	m_gl.getActiveAttrib(program, index, bufSize, length, size, type, name);
1351}
1352
1353void CallLogWrapper::glGetActiveSubroutineName (glw::GLuint program, glw::GLenum shadertype, glw::GLuint index, glw::GLsizei bufsize, glw::GLsizei *length, glw::GLchar *name)
1354{
1355	if (m_enableLog)
1356		m_log << TestLog::Message << "glGetActiveSubroutineName(" << program << ", " << toHex(shadertype) << ", " << index << ", " << bufsize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(length))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(name))) << ");" << TestLog::EndMessage;
1357	m_gl.getActiveSubroutineName(program, shadertype, index, bufsize, length, name);
1358}
1359
1360void CallLogWrapper::glGetActiveSubroutineUniformName (glw::GLuint program, glw::GLenum shadertype, glw::GLuint index, glw::GLsizei bufsize, glw::GLsizei *length, glw::GLchar *name)
1361{
1362	if (m_enableLog)
1363		m_log << TestLog::Message << "glGetActiveSubroutineUniformName(" << program << ", " << toHex(shadertype) << ", " << index << ", " << bufsize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(length))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(name))) << ");" << TestLog::EndMessage;
1364	m_gl.getActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name);
1365}
1366
1367void CallLogWrapper::glGetActiveSubroutineUniformiv (glw::GLuint program, glw::GLenum shadertype, glw::GLuint index, glw::GLenum pname, glw::GLint *values)
1368{
1369	if (m_enableLog)
1370		m_log << TestLog::Message << "glGetActiveSubroutineUniformiv(" << program << ", " << toHex(shadertype) << ", " << index << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(values))) << ");" << TestLog::EndMessage;
1371	m_gl.getActiveSubroutineUniformiv(program, shadertype, index, pname, values);
1372}
1373
1374void CallLogWrapper::glGetActiveUniform (glw::GLuint program, glw::GLuint index, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLint *size, glw::GLenum *type, glw::GLchar *name)
1375{
1376	if (m_enableLog)
1377		m_log << TestLog::Message << "glGetActiveUniform(" << program << ", " << index << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(length))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(size))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(type))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(name))) << ");" << TestLog::EndMessage;
1378	m_gl.getActiveUniform(program, index, bufSize, length, size, type, name);
1379	if (m_enableLog)
1380	{
1381		m_log << TestLog::Message << "// length = " << getPointerStr(length, 1) << TestLog::EndMessage;
1382		m_log << TestLog::Message << "// size = " << getPointerStr(size, 1) << TestLog::EndMessage;
1383		m_log << TestLog::Message << "// type = " << getEnumPointerStr(type, 1, getShaderVarTypeName) << TestLog::EndMessage;
1384		m_log << TestLog::Message << "// name = " << getStringStr(name) << TestLog::EndMessage;
1385	}
1386}
1387
1388void CallLogWrapper::glGetActiveUniformBlockName (glw::GLuint program, glw::GLuint uniformBlockIndex, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLchar *uniformBlockName)
1389{
1390	if (m_enableLog)
1391		m_log << TestLog::Message << "glGetActiveUniformBlockName(" << program << ", " << uniformBlockIndex << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(length))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(uniformBlockName))) << ");" << TestLog::EndMessage;
1392	m_gl.getActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName);
1393}
1394
1395void CallLogWrapper::glGetActiveUniformBlockiv (glw::GLuint program, glw::GLuint uniformBlockIndex, glw::GLenum pname, glw::GLint *params)
1396{
1397	if (m_enableLog)
1398		m_log << TestLog::Message << "glGetActiveUniformBlockiv(" << program << ", " << uniformBlockIndex << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1399	m_gl.getActiveUniformBlockiv(program, uniformBlockIndex, pname, params);
1400}
1401
1402void CallLogWrapper::glGetActiveUniformName (glw::GLuint program, glw::GLuint uniformIndex, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLchar *uniformName)
1403{
1404	if (m_enableLog)
1405		m_log << TestLog::Message << "glGetActiveUniformName(" << program << ", " << uniformIndex << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(length))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(uniformName))) << ");" << TestLog::EndMessage;
1406	m_gl.getActiveUniformName(program, uniformIndex, bufSize, length, uniformName);
1407}
1408
1409void CallLogWrapper::glGetActiveUniformsiv (glw::GLuint program, glw::GLsizei uniformCount, const glw::GLuint *uniformIndices, glw::GLenum pname, glw::GLint *params)
1410{
1411	if (m_enableLog)
1412		m_log << TestLog::Message << "glGetActiveUniformsiv(" << program << ", " << uniformCount << ", " << getPointerStr(uniformIndices, uniformCount) << ", " << getUniformParamStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1413	m_gl.getActiveUniformsiv(program, uniformCount, uniformIndices, pname, params);
1414	if (m_enableLog)
1415		m_log << TestLog::Message << "// params = " << getPointerStr(params, uniformCount) << TestLog::EndMessage;
1416}
1417
1418void CallLogWrapper::glGetAttachedShaders (glw::GLuint program, glw::GLsizei maxCount, glw::GLsizei *count, glw::GLuint *shaders)
1419{
1420	if (m_enableLog)
1421		m_log << TestLog::Message << "glGetAttachedShaders(" << program << ", " << maxCount << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(count))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(shaders))) << ");" << TestLog::EndMessage;
1422	m_gl.getAttachedShaders(program, maxCount, count, shaders);
1423}
1424
1425glw::GLint CallLogWrapper::glGetAttribLocation (glw::GLuint program, const glw::GLchar *name)
1426{
1427	if (m_enableLog)
1428		m_log << TestLog::Message << "glGetAttribLocation(" << program << ", " << getStringStr(name) << ");" << TestLog::EndMessage;
1429	glw::GLint returnValue = m_gl.getAttribLocation(program, name);
1430	if (m_enableLog)
1431		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
1432	return returnValue;
1433}
1434
1435void CallLogWrapper::glGetBooleani_v (glw::GLenum target, glw::GLuint index, glw::GLboolean *data)
1436{
1437	if (m_enableLog)
1438		m_log << TestLog::Message << "glGetBooleani_v(" << getGettableIndexedStateStr(target) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
1439	m_gl.getBooleani_v(target, index, data);
1440	if (m_enableLog)
1441		m_log << TestLog::Message << "// data = " << getBooleanPointerStr(data, getIndexedQueryNumArgsOut(target)) << TestLog::EndMessage;
1442}
1443
1444void CallLogWrapper::glGetBooleanv (glw::GLenum pname, glw::GLboolean *data)
1445{
1446	if (m_enableLog)
1447		m_log << TestLog::Message << "glGetBooleanv(" << getGettableStateStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
1448	m_gl.getBooleanv(pname, data);
1449	if (m_enableLog)
1450		m_log << TestLog::Message << "// data = " << getBooleanPointerStr(data, getBasicQueryNumArgsOut(pname)) << TestLog::EndMessage;
1451}
1452
1453void CallLogWrapper::glGetBufferParameteri64v (glw::GLenum target, glw::GLenum pname, glw::GLint64 *params)
1454{
1455	if (m_enableLog)
1456		m_log << TestLog::Message << "glGetBufferParameteri64v(" << getBufferTargetStr(target) << ", " << getBufferQueryStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1457	m_gl.getBufferParameteri64v(target, pname, params);
1458}
1459
1460void CallLogWrapper::glGetBufferParameteriv (glw::GLenum target, glw::GLenum pname, glw::GLint *params)
1461{
1462	if (m_enableLog)
1463		m_log << TestLog::Message << "glGetBufferParameteriv(" << getBufferTargetStr(target) << ", " << getBufferQueryStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1464	m_gl.getBufferParameteriv(target, pname, params);
1465}
1466
1467void CallLogWrapper::glGetBufferPointerv (glw::GLenum target, glw::GLenum pname, void **params)
1468{
1469	if (m_enableLog)
1470		m_log << TestLog::Message << "glGetBufferPointerv(" << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1471	m_gl.getBufferPointerv(target, pname, params);
1472}
1473
1474void CallLogWrapper::glGetBufferSubData (glw::GLenum target, glw::GLintptr offset, glw::GLsizeiptr size, void *data)
1475{
1476	if (m_enableLog)
1477		m_log << TestLog::Message << "glGetBufferSubData(" << toHex(target) << ", " << offset << ", " << size << ", " << data << ");" << TestLog::EndMessage;
1478	m_gl.getBufferSubData(target, offset, size, data);
1479}
1480
1481void CallLogWrapper::glGetCompressedTexImage (glw::GLenum target, glw::GLint level, void *img)
1482{
1483	if (m_enableLog)
1484		m_log << TestLog::Message << "glGetCompressedTexImage(" << toHex(target) << ", " << level << ", " << img << ");" << TestLog::EndMessage;
1485	m_gl.getCompressedTexImage(target, level, img);
1486}
1487
1488void CallLogWrapper::glGetCompressedTextureImage (glw::GLuint texture, glw::GLint level, glw::GLsizei bufSize, void *pixels)
1489{
1490	if (m_enableLog)
1491		m_log << TestLog::Message << "glGetCompressedTextureImage(" << texture << ", " << level << ", " << bufSize << ", " << pixels << ");" << TestLog::EndMessage;
1492	m_gl.getCompressedTextureImage(texture, level, bufSize, pixels);
1493}
1494
1495void CallLogWrapper::glGetCompressedTextureSubImage (glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLsizei bufSize, void *pixels)
1496{
1497	if (m_enableLog)
1498		m_log << TestLog::Message << "glGetCompressedTextureSubImage(" << texture << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ", " << bufSize << ", " << pixels << ");" << TestLog::EndMessage;
1499	m_gl.getCompressedTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels);
1500}
1501
1502glw::GLuint CallLogWrapper::glGetDebugMessageLog (glw::GLuint count, glw::GLsizei bufSize, glw::GLenum *sources, glw::GLenum *types, glw::GLuint *ids, glw::GLenum *severities, glw::GLsizei *lengths, glw::GLchar *messageLog)
1503{
1504	if (m_enableLog)
1505		m_log << TestLog::Message << "glGetDebugMessageLog(" << count << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(sources))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(types))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(ids))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(severities))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(lengths))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(messageLog))) << ");" << TestLog::EndMessage;
1506	glw::GLuint returnValue = m_gl.getDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog);
1507	if (m_enableLog)
1508		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
1509	return returnValue;
1510}
1511
1512void CallLogWrapper::glGetDoublei_v (glw::GLenum target, glw::GLuint index, glw::GLdouble *data)
1513{
1514	if (m_enableLog)
1515		m_log << TestLog::Message << "glGetDoublei_v(" << toHex(target) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
1516	m_gl.getDoublei_v(target, index, data);
1517}
1518
1519void CallLogWrapper::glGetDoublev (glw::GLenum pname, glw::GLdouble *data)
1520{
1521	if (m_enableLog)
1522		m_log << TestLog::Message << "glGetDoublev(" << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
1523	m_gl.getDoublev(pname, data);
1524}
1525
1526glw::GLenum CallLogWrapper::glGetError (void)
1527{
1528	if (m_enableLog)
1529		m_log << TestLog::Message << "glGetError(" << ");" << TestLog::EndMessage;
1530	glw::GLenum returnValue = m_gl.getError();
1531	if (m_enableLog)
1532		m_log << TestLog::Message << "// " << getErrorStr(returnValue) << " returned" << TestLog::EndMessage;
1533	return returnValue;
1534}
1535
1536void CallLogWrapper::glGetFloati_v (glw::GLenum target, glw::GLuint index, glw::GLfloat *data)
1537{
1538	if (m_enableLog)
1539		m_log << TestLog::Message << "glGetFloati_v(" << toHex(target) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
1540	m_gl.getFloati_v(target, index, data);
1541}
1542
1543void CallLogWrapper::glGetFloatv (glw::GLenum pname, glw::GLfloat *data)
1544{
1545	if (m_enableLog)
1546		m_log << TestLog::Message << "glGetFloatv(" << getGettableStateStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
1547	m_gl.getFloatv(pname, data);
1548	if (m_enableLog)
1549		m_log << TestLog::Message << "// data = " << getPointerStr(data, getBasicQueryNumArgsOut(pname)) << TestLog::EndMessage;
1550}
1551
1552glw::GLint CallLogWrapper::glGetFragDataIndex (glw::GLuint program, const glw::GLchar *name)
1553{
1554	if (m_enableLog)
1555		m_log << TestLog::Message << "glGetFragDataIndex(" << program << ", " << getStringStr(name) << ");" << TestLog::EndMessage;
1556	glw::GLint returnValue = m_gl.getFragDataIndex(program, name);
1557	if (m_enableLog)
1558		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
1559	return returnValue;
1560}
1561
1562glw::GLint CallLogWrapper::glGetFragDataLocation (glw::GLuint program, const glw::GLchar *name)
1563{
1564	if (m_enableLog)
1565		m_log << TestLog::Message << "glGetFragDataLocation(" << program << ", " << getStringStr(name) << ");" << TestLog::EndMessage;
1566	glw::GLint returnValue = m_gl.getFragDataLocation(program, name);
1567	if (m_enableLog)
1568		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
1569	return returnValue;
1570}
1571
1572void CallLogWrapper::glGetFramebufferAttachmentParameteriv (glw::GLenum target, glw::GLenum attachment, glw::GLenum pname, glw::GLint *params)
1573{
1574	if (m_enableLog)
1575		m_log << TestLog::Message << "glGetFramebufferAttachmentParameteriv(" << getFramebufferTargetStr(target) << ", " << getFramebufferAttachmentStr(attachment) << ", " << getFramebufferAttachmentParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1576	m_gl.getFramebufferAttachmentParameteriv(target, attachment, pname, params);
1577	if (m_enableLog)
1578		m_log << TestLog::Message << "// params = " << getFramebufferAttachmentParameterValueStr(pname, params) << TestLog::EndMessage;
1579}
1580
1581void CallLogWrapper::glGetFramebufferParameteriv (glw::GLenum target, glw::GLenum pname, glw::GLint *params)
1582{
1583	if (m_enableLog)
1584		m_log << TestLog::Message << "glGetFramebufferParameteriv(" << getFramebufferTargetStr(target) << ", " << getFramebufferParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1585	m_gl.getFramebufferParameteriv(target, pname, params);
1586	if (m_enableLog)
1587		m_log << TestLog::Message << "// params = " << getPointerStr(params, 1) << TestLog::EndMessage;
1588}
1589
1590glw::GLenum CallLogWrapper::glGetGraphicsResetStatus (void)
1591{
1592	if (m_enableLog)
1593		m_log << TestLog::Message << "glGetGraphicsResetStatus(" << ");" << TestLog::EndMessage;
1594	glw::GLenum returnValue = m_gl.getGraphicsResetStatus();
1595	if (m_enableLog)
1596		m_log << TestLog::Message << "// " << toHex(returnValue) << " returned" << TestLog::EndMessage;
1597	return returnValue;
1598}
1599
1600void CallLogWrapper::glGetInteger64i_v (glw::GLenum target, glw::GLuint index, glw::GLint64 *data)
1601{
1602	if (m_enableLog)
1603		m_log << TestLog::Message << "glGetInteger64i_v(" << getGettableIndexedStateStr(target) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
1604	m_gl.getInteger64i_v(target, index, data);
1605	if (m_enableLog)
1606		m_log << TestLog::Message << "// data = " << getPointerStr(data, getIndexedQueryNumArgsOut(target)) << TestLog::EndMessage;
1607}
1608
1609void CallLogWrapper::glGetInteger64v (glw::GLenum pname, glw::GLint64 *data)
1610{
1611	if (m_enableLog)
1612		m_log << TestLog::Message << "glGetInteger64v(" << getGettableStateStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
1613	m_gl.getInteger64v(pname, data);
1614	if (m_enableLog)
1615		m_log << TestLog::Message << "// data = " << getPointerStr(data, getBasicQueryNumArgsOut(pname)) << TestLog::EndMessage;
1616}
1617
1618void CallLogWrapper::glGetIntegeri_v (glw::GLenum target, glw::GLuint index, glw::GLint *data)
1619{
1620	if (m_enableLog)
1621		m_log << TestLog::Message << "glGetIntegeri_v(" << getGettableIndexedStateStr(target) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
1622	m_gl.getIntegeri_v(target, index, data);
1623	if (m_enableLog)
1624		m_log << TestLog::Message << "// data = " << getPointerStr(data, getIndexedQueryNumArgsOut(target)) << TestLog::EndMessage;
1625}
1626
1627void CallLogWrapper::glGetIntegerv (glw::GLenum pname, glw::GLint *data)
1628{
1629	if (m_enableLog)
1630		m_log << TestLog::Message << "glGetIntegerv(" << getGettableStateStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
1631	m_gl.getIntegerv(pname, data);
1632	if (m_enableLog)
1633		m_log << TestLog::Message << "// data = " << getPointerStr(data, getBasicQueryNumArgsOut(pname)) << TestLog::EndMessage;
1634}
1635
1636void CallLogWrapper::glGetInternalformati64v (glw::GLenum target, glw::GLenum internalformat, glw::GLenum pname, glw::GLsizei bufSize, glw::GLint64 *params)
1637{
1638	if (m_enableLog)
1639		m_log << TestLog::Message << "glGetInternalformati64v(" << toHex(target) << ", " << toHex(internalformat) << ", " << toHex(pname) << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1640	m_gl.getInternalformati64v(target, internalformat, pname, bufSize, params);
1641}
1642
1643void CallLogWrapper::glGetInternalformativ (glw::GLenum target, glw::GLenum internalformat, glw::GLenum pname, glw::GLsizei bufSize, glw::GLint *params)
1644{
1645	if (m_enableLog)
1646		m_log << TestLog::Message << "glGetInternalformativ(" << getInternalFormatTargetStr(target) << ", " << getPixelFormatStr(internalformat) << ", " << getInternalFormatParameterStr(pname) << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1647	m_gl.getInternalformativ(target, internalformat, pname, bufSize, params);
1648	if (m_enableLog)
1649		m_log << TestLog::Message << "// params = " << getPointerStr(params, bufSize) << TestLog::EndMessage;
1650}
1651
1652void CallLogWrapper::glGetMultisamplefv (glw::GLenum pname, glw::GLuint index, glw::GLfloat *val)
1653{
1654	if (m_enableLog)
1655		m_log << TestLog::Message << "glGetMultisamplefv(" << getMultisampleParameterStr(pname) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(val))) << ");" << TestLog::EndMessage;
1656	m_gl.getMultisamplefv(pname, index, val);
1657	if (m_enableLog)
1658		m_log << TestLog::Message << "// val = " << getPointerStr(val, 2) << TestLog::EndMessage;
1659}
1660
1661void CallLogWrapper::glGetNamedBufferParameteri64v (glw::GLuint buffer, glw::GLenum pname, glw::GLint64 *params)
1662{
1663	if (m_enableLog)
1664		m_log << TestLog::Message << "glGetNamedBufferParameteri64v(" << buffer << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1665	m_gl.getNamedBufferParameteri64v(buffer, pname, params);
1666}
1667
1668void CallLogWrapper::glGetNamedBufferParameteriv (glw::GLuint buffer, glw::GLenum pname, glw::GLint *params)
1669{
1670	if (m_enableLog)
1671		m_log << TestLog::Message << "glGetNamedBufferParameteriv(" << buffer << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1672	m_gl.getNamedBufferParameteriv(buffer, pname, params);
1673}
1674
1675void CallLogWrapper::glGetNamedBufferPointerv (glw::GLuint buffer, glw::GLenum pname, void **params)
1676{
1677	if (m_enableLog)
1678		m_log << TestLog::Message << "glGetNamedBufferPointerv(" << buffer << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1679	m_gl.getNamedBufferPointerv(buffer, pname, params);
1680}
1681
1682void CallLogWrapper::glGetNamedBufferSubData (glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size, void *data)
1683{
1684	if (m_enableLog)
1685		m_log << TestLog::Message << "glGetNamedBufferSubData(" << buffer << ", " << offset << ", " << size << ", " << data << ");" << TestLog::EndMessage;
1686	m_gl.getNamedBufferSubData(buffer, offset, size, data);
1687}
1688
1689void CallLogWrapper::glGetNamedFramebufferAttachmentParameteriv (glw::GLuint framebuffer, glw::GLenum attachment, glw::GLenum pname, glw::GLint *params)
1690{
1691	if (m_enableLog)
1692		m_log << TestLog::Message << "glGetNamedFramebufferAttachmentParameteriv(" << framebuffer << ", " << toHex(attachment) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1693	m_gl.getNamedFramebufferAttachmentParameteriv(framebuffer, attachment, pname, params);
1694}
1695
1696void CallLogWrapper::glGetNamedFramebufferParameteriv (glw::GLuint framebuffer, glw::GLenum pname, glw::GLint *param)
1697{
1698	if (m_enableLog)
1699		m_log << TestLog::Message << "glGetNamedFramebufferParameteriv(" << framebuffer << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(param))) << ");" << TestLog::EndMessage;
1700	m_gl.getNamedFramebufferParameteriv(framebuffer, pname, param);
1701}
1702
1703void CallLogWrapper::glGetNamedRenderbufferParameteriv (glw::GLuint renderbuffer, glw::GLenum pname, glw::GLint *params)
1704{
1705	if (m_enableLog)
1706		m_log << TestLog::Message << "glGetNamedRenderbufferParameteriv(" << renderbuffer << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1707	m_gl.getNamedRenderbufferParameteriv(renderbuffer, pname, params);
1708}
1709
1710void CallLogWrapper::glGetObjectLabel (glw::GLenum identifier, glw::GLuint name, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLchar *label)
1711{
1712	if (m_enableLog)
1713		m_log << TestLog::Message << "glGetObjectLabel(" << toHex(identifier) << ", " << name << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(length))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(label))) << ");" << TestLog::EndMessage;
1714	m_gl.getObjectLabel(identifier, name, bufSize, length, label);
1715}
1716
1717void CallLogWrapper::glGetObjectPtrLabel (const void *ptr, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLchar *label)
1718{
1719	if (m_enableLog)
1720		m_log << TestLog::Message << "glGetObjectPtrLabel(" << ptr << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(length))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(label))) << ");" << TestLog::EndMessage;
1721	m_gl.getObjectPtrLabel(ptr, bufSize, length, label);
1722}
1723
1724void CallLogWrapper::glGetPointerv (glw::GLenum pname, void **params)
1725{
1726	if (m_enableLog)
1727		m_log << TestLog::Message << "glGetPointerv(" << getPointerStateStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1728	m_gl.getPointerv(pname, params);
1729	if (m_enableLog)
1730		m_log << TestLog::Message << "// params = " << getPointerStr(params, 1) << TestLog::EndMessage;
1731}
1732
1733void CallLogWrapper::glGetProgramBinary (glw::GLuint program, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLenum *binaryFormat, void *binary)
1734{
1735	if (m_enableLog)
1736		m_log << TestLog::Message << "glGetProgramBinary(" << program << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(length))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(binaryFormat))) << ", " << binary << ");" << TestLog::EndMessage;
1737	m_gl.getProgramBinary(program, bufSize, length, binaryFormat, binary);
1738}
1739
1740void CallLogWrapper::glGetProgramInfoLog (glw::GLuint program, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLchar *infoLog)
1741{
1742	if (m_enableLog)
1743		m_log << TestLog::Message << "glGetProgramInfoLog(" << program << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(length))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(infoLog))) << ");" << TestLog::EndMessage;
1744	m_gl.getProgramInfoLog(program, bufSize, length, infoLog);
1745	if (m_enableLog)
1746		m_log << TestLog::Message << "// length = " << getPointerStr(length, 1) << TestLog::EndMessage;
1747}
1748
1749void CallLogWrapper::glGetProgramInterfaceiv (glw::GLuint program, glw::GLenum programInterface, glw::GLenum pname, glw::GLint *params)
1750{
1751	if (m_enableLog)
1752		m_log << TestLog::Message << "glGetProgramInterfaceiv(" << program << ", " << toHex(programInterface) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1753	m_gl.getProgramInterfaceiv(program, programInterface, pname, params);
1754}
1755
1756void CallLogWrapper::glGetProgramPipelineInfoLog (glw::GLuint pipeline, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLchar *infoLog)
1757{
1758	if (m_enableLog)
1759		m_log << TestLog::Message << "glGetProgramPipelineInfoLog(" << pipeline << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(length))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(infoLog))) << ");" << TestLog::EndMessage;
1760	m_gl.getProgramPipelineInfoLog(pipeline, bufSize, length, infoLog);
1761	if (m_enableLog)
1762		m_log << TestLog::Message << "// length = " << getPointerStr(length, 1) << TestLog::EndMessage;
1763}
1764
1765void CallLogWrapper::glGetProgramPipelineiv (glw::GLuint pipeline, glw::GLenum pname, glw::GLint *params)
1766{
1767	if (m_enableLog)
1768		m_log << TestLog::Message << "glGetProgramPipelineiv(" << pipeline << ", " << getPipelineParamStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1769	m_gl.getProgramPipelineiv(pipeline, pname, params);
1770	if (m_enableLog)
1771		m_log << TestLog::Message << "// params = " << getPointerStr(params, 1) << TestLog::EndMessage;
1772}
1773
1774glw::GLuint CallLogWrapper::glGetProgramResourceIndex (glw::GLuint program, glw::GLenum programInterface, const glw::GLchar *name)
1775{
1776	if (m_enableLog)
1777		m_log << TestLog::Message << "glGetProgramResourceIndex(" << program << ", " << getProgramInterfaceStr(programInterface) << ", " << getStringStr(name) << ");" << TestLog::EndMessage;
1778	glw::GLuint returnValue = m_gl.getProgramResourceIndex(program, programInterface, name);
1779	if (m_enableLog)
1780		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
1781	return returnValue;
1782}
1783
1784glw::GLint CallLogWrapper::glGetProgramResourceLocation (glw::GLuint program, glw::GLenum programInterface, const glw::GLchar *name)
1785{
1786	if (m_enableLog)
1787		m_log << TestLog::Message << "glGetProgramResourceLocation(" << program << ", " << toHex(programInterface) << ", " << getStringStr(name) << ");" << TestLog::EndMessage;
1788	glw::GLint returnValue = m_gl.getProgramResourceLocation(program, programInterface, name);
1789	if (m_enableLog)
1790		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
1791	return returnValue;
1792}
1793
1794glw::GLint CallLogWrapper::glGetProgramResourceLocationIndex (glw::GLuint program, glw::GLenum programInterface, const glw::GLchar *name)
1795{
1796	if (m_enableLog)
1797		m_log << TestLog::Message << "glGetProgramResourceLocationIndex(" << program << ", " << toHex(programInterface) << ", " << getStringStr(name) << ");" << TestLog::EndMessage;
1798	glw::GLint returnValue = m_gl.getProgramResourceLocationIndex(program, programInterface, name);
1799	if (m_enableLog)
1800		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
1801	return returnValue;
1802}
1803
1804void CallLogWrapper::glGetProgramResourceName (glw::GLuint program, glw::GLenum programInterface, glw::GLuint index, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLchar *name)
1805{
1806	if (m_enableLog)
1807		m_log << TestLog::Message << "glGetProgramResourceName(" << program << ", " << toHex(programInterface) << ", " << index << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(length))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(name))) << ");" << TestLog::EndMessage;
1808	m_gl.getProgramResourceName(program, programInterface, index, bufSize, length, name);
1809}
1810
1811void CallLogWrapper::glGetProgramResourceiv (glw::GLuint program, glw::GLenum programInterface, glw::GLuint index, glw::GLsizei propCount, const glw::GLenum *props, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLint *params)
1812{
1813	if (m_enableLog)
1814		m_log << TestLog::Message << "glGetProgramResourceiv(" << program << ", " << getProgramInterfaceStr(programInterface) << ", " << index << ", " << propCount << ", " << getEnumPointerStr(props, propCount, getProgramResourcePropertyName) << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(length))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1815	m_gl.getProgramResourceiv(program, programInterface, index, propCount, props, bufSize, length, params);
1816	if (m_enableLog)
1817	{
1818		m_log << TestLog::Message << "// length = " << getPointerStr(length, 1) << TestLog::EndMessage;
1819		m_log << TestLog::Message << "// params = " << getPointerStr(params, ((length == DE_NULL) ? (bufSize) : ((bufSize < *length) ? (bufSize) : (*length)))) << TestLog::EndMessage;
1820	}
1821}
1822
1823void CallLogWrapper::glGetProgramStageiv (glw::GLuint program, glw::GLenum shadertype, glw::GLenum pname, glw::GLint *values)
1824{
1825	if (m_enableLog)
1826		m_log << TestLog::Message << "glGetProgramStageiv(" << program << ", " << toHex(shadertype) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(values))) << ");" << TestLog::EndMessage;
1827	m_gl.getProgramStageiv(program, shadertype, pname, values);
1828}
1829
1830void CallLogWrapper::glGetProgramiv (glw::GLuint program, glw::GLenum pname, glw::GLint *params)
1831{
1832	if (m_enableLog)
1833		m_log << TestLog::Message << "glGetProgramiv(" << program << ", " << getProgramParamStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1834	m_gl.getProgramiv(program, pname, params);
1835	if (m_enableLog)
1836		m_log << TestLog::Message << "// params = " << getPointerStr(params, getProgramQueryNumArgsOut(pname)) << TestLog::EndMessage;
1837}
1838
1839void CallLogWrapper::glGetQueryBufferObjecti64v (glw::GLuint id, glw::GLuint buffer, glw::GLenum pname, glw::GLintptr offset)
1840{
1841	if (m_enableLog)
1842		m_log << TestLog::Message << "glGetQueryBufferObjecti64v(" << id << ", " << buffer << ", " << toHex(pname) << ", " << offset << ");" << TestLog::EndMessage;
1843	m_gl.getQueryBufferObjecti64v(id, buffer, pname, offset);
1844}
1845
1846void CallLogWrapper::glGetQueryBufferObjectiv (glw::GLuint id, glw::GLuint buffer, glw::GLenum pname, glw::GLintptr offset)
1847{
1848	if (m_enableLog)
1849		m_log << TestLog::Message << "glGetQueryBufferObjectiv(" << id << ", " << buffer << ", " << toHex(pname) << ", " << offset << ");" << TestLog::EndMessage;
1850	m_gl.getQueryBufferObjectiv(id, buffer, pname, offset);
1851}
1852
1853void CallLogWrapper::glGetQueryBufferObjectui64v (glw::GLuint id, glw::GLuint buffer, glw::GLenum pname, glw::GLintptr offset)
1854{
1855	if (m_enableLog)
1856		m_log << TestLog::Message << "glGetQueryBufferObjectui64v(" << id << ", " << buffer << ", " << toHex(pname) << ", " << offset << ");" << TestLog::EndMessage;
1857	m_gl.getQueryBufferObjectui64v(id, buffer, pname, offset);
1858}
1859
1860void CallLogWrapper::glGetQueryBufferObjectuiv (glw::GLuint id, glw::GLuint buffer, glw::GLenum pname, glw::GLintptr offset)
1861{
1862	if (m_enableLog)
1863		m_log << TestLog::Message << "glGetQueryBufferObjectuiv(" << id << ", " << buffer << ", " << toHex(pname) << ", " << offset << ");" << TestLog::EndMessage;
1864	m_gl.getQueryBufferObjectuiv(id, buffer, pname, offset);
1865}
1866
1867void CallLogWrapper::glGetQueryIndexediv (glw::GLenum target, glw::GLuint index, glw::GLenum pname, glw::GLint *params)
1868{
1869	if (m_enableLog)
1870		m_log << TestLog::Message << "glGetQueryIndexediv(" << toHex(target) << ", " << index << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1871	m_gl.getQueryIndexediv(target, index, pname, params);
1872}
1873
1874void CallLogWrapper::glGetQueryObjecti64v (glw::GLuint id, glw::GLenum pname, glw::GLint64 *params)
1875{
1876	if (m_enableLog)
1877		m_log << TestLog::Message << "glGetQueryObjecti64v(" << id << ", " << getQueryObjectParamStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1878	m_gl.getQueryObjecti64v(id, pname, params);
1879	if (m_enableLog)
1880		m_log << TestLog::Message << "// params = " << getPointerStr(params, 1) << TestLog::EndMessage;
1881}
1882
1883void CallLogWrapper::glGetQueryObjectiv (glw::GLuint id, glw::GLenum pname, glw::GLint *params)
1884{
1885	if (m_enableLog)
1886		m_log << TestLog::Message << "glGetQueryObjectiv(" << id << ", " << getQueryObjectParamStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1887	m_gl.getQueryObjectiv(id, pname, params);
1888	if (m_enableLog)
1889		m_log << TestLog::Message << "// params = " << getPointerStr(params, 1) << TestLog::EndMessage;
1890}
1891
1892void CallLogWrapper::glGetQueryObjectui64v (glw::GLuint id, glw::GLenum pname, glw::GLuint64 *params)
1893{
1894	if (m_enableLog)
1895		m_log << TestLog::Message << "glGetQueryObjectui64v(" << id << ", " << getQueryObjectParamStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1896	m_gl.getQueryObjectui64v(id, pname, params);
1897	if (m_enableLog)
1898		m_log << TestLog::Message << "// params = " << getPointerStr(params, 1) << TestLog::EndMessage;
1899}
1900
1901void CallLogWrapper::glGetQueryObjectuiv (glw::GLuint id, glw::GLenum pname, glw::GLuint *params)
1902{
1903	if (m_enableLog)
1904		m_log << TestLog::Message << "glGetQueryObjectuiv(" << id << ", " << getQueryObjectParamStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1905	m_gl.getQueryObjectuiv(id, pname, params);
1906	if (m_enableLog)
1907		m_log << TestLog::Message << "// params = " << getPointerStr(params, 1) << TestLog::EndMessage;
1908}
1909
1910void CallLogWrapper::glGetQueryiv (glw::GLenum target, glw::GLenum pname, glw::GLint *params)
1911{
1912	if (m_enableLog)
1913		m_log << TestLog::Message << "glGetQueryiv(" << getQueryTargetStr(target) << ", " << getQueryParamStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1914	m_gl.getQueryiv(target, pname, params);
1915	if (m_enableLog)
1916		m_log << TestLog::Message << "// params = " << getPointerStr(params, 1) << TestLog::EndMessage;
1917}
1918
1919void CallLogWrapper::glGetRenderbufferParameteriv (glw::GLenum target, glw::GLenum pname, glw::GLint *params)
1920{
1921	if (m_enableLog)
1922		m_log << TestLog::Message << "glGetRenderbufferParameteriv(" << getFramebufferTargetStr(target) << ", " << getRenderbufferParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1923	m_gl.getRenderbufferParameteriv(target, pname, params);
1924}
1925
1926void CallLogWrapper::glGetSamplerParameterIiv (glw::GLuint sampler, glw::GLenum pname, glw::GLint *params)
1927{
1928	if (m_enableLog)
1929		m_log << TestLog::Message << "glGetSamplerParameterIiv(" << sampler << ", " << getTextureParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1930	m_gl.getSamplerParameterIiv(sampler, pname, params);
1931	if (m_enableLog)
1932		m_log << TestLog::Message << "// params = " << getPointerStr(params, getTextureParamQueryNumArgsOut(pname)) << TestLog::EndMessage;
1933}
1934
1935void CallLogWrapper::glGetSamplerParameterIuiv (glw::GLuint sampler, glw::GLenum pname, glw::GLuint *params)
1936{
1937	if (m_enableLog)
1938		m_log << TestLog::Message << "glGetSamplerParameterIuiv(" << sampler << ", " << getTextureParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1939	m_gl.getSamplerParameterIuiv(sampler, pname, params);
1940	if (m_enableLog)
1941		m_log << TestLog::Message << "// params = " << getPointerStr(params, getTextureParamQueryNumArgsOut(pname)) << TestLog::EndMessage;
1942}
1943
1944void CallLogWrapper::glGetSamplerParameterfv (glw::GLuint sampler, glw::GLenum pname, glw::GLfloat *params)
1945{
1946	if (m_enableLog)
1947		m_log << TestLog::Message << "glGetSamplerParameterfv(" << sampler << ", " << getTextureParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1948	m_gl.getSamplerParameterfv(sampler, pname, params);
1949	if (m_enableLog)
1950		m_log << TestLog::Message << "// params = " << getPointerStr(params, getTextureParamQueryNumArgsOut(pname)) << TestLog::EndMessage;
1951}
1952
1953void CallLogWrapper::glGetSamplerParameteriv (glw::GLuint sampler, glw::GLenum pname, glw::GLint *params)
1954{
1955	if (m_enableLog)
1956		m_log << TestLog::Message << "glGetSamplerParameteriv(" << sampler << ", " << getTextureParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1957	m_gl.getSamplerParameteriv(sampler, pname, params);
1958	if (m_enableLog)
1959		m_log << TestLog::Message << "// params = " << getPointerStr(params, getTextureParamQueryNumArgsOut(pname)) << TestLog::EndMessage;
1960}
1961
1962void CallLogWrapper::glGetShaderInfoLog (glw::GLuint shader, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLchar *infoLog)
1963{
1964	if (m_enableLog)
1965		m_log << TestLog::Message << "glGetShaderInfoLog(" << shader << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(length))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(infoLog))) << ");" << TestLog::EndMessage;
1966	m_gl.getShaderInfoLog(shader, bufSize, length, infoLog);
1967	if (m_enableLog)
1968		m_log << TestLog::Message << "// length = " << getPointerStr(length, 1) << TestLog::EndMessage;
1969}
1970
1971void CallLogWrapper::glGetShaderPrecisionFormat (glw::GLenum shadertype, glw::GLenum precisiontype, glw::GLint *range, glw::GLint *precision)
1972{
1973	if (m_enableLog)
1974		m_log << TestLog::Message << "glGetShaderPrecisionFormat(" << getShaderTypeStr(shadertype) << ", " << getPrecisionFormatTypeStr(precisiontype) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(range))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(precision))) << ");" << TestLog::EndMessage;
1975	m_gl.getShaderPrecisionFormat(shadertype, precisiontype, range, precision);
1976}
1977
1978void CallLogWrapper::glGetShaderSource (glw::GLuint shader, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLchar *source)
1979{
1980	if (m_enableLog)
1981		m_log << TestLog::Message << "glGetShaderSource(" << shader << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(length))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(source))) << ");" << TestLog::EndMessage;
1982	m_gl.getShaderSource(shader, bufSize, length, source);
1983}
1984
1985void CallLogWrapper::glGetShaderiv (glw::GLuint shader, glw::GLenum pname, glw::GLint *params)
1986{
1987	if (m_enableLog)
1988		m_log << TestLog::Message << "glGetShaderiv(" << shader << ", " << getShaderParamStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
1989	m_gl.getShaderiv(shader, pname, params);
1990	if (m_enableLog)
1991		m_log << TestLog::Message << "// params = " << getPointerStr(params, 1) << TestLog::EndMessage;
1992}
1993
1994const glw::GLubyte * CallLogWrapper::glGetString (glw::GLenum name)
1995{
1996	if (m_enableLog)
1997		m_log << TestLog::Message << "glGetString(" << getGettableStringStr(name) << ");" << TestLog::EndMessage;
1998	const glw::GLubyte * returnValue = m_gl.getString(name);
1999	if (m_enableLog)
2000		m_log << TestLog::Message << "// " << getStringStr(returnValue) << " returned" << TestLog::EndMessage;
2001	return returnValue;
2002}
2003
2004const glw::GLubyte * CallLogWrapper::glGetStringi (glw::GLenum name, glw::GLuint index)
2005{
2006	if (m_enableLog)
2007		m_log << TestLog::Message << "glGetStringi(" << getGettableStringStr(name) << ", " << index << ");" << TestLog::EndMessage;
2008	const glw::GLubyte * returnValue = m_gl.getStringi(name, index);
2009	if (m_enableLog)
2010		m_log << TestLog::Message << "// " << getStringStr(returnValue) << " returned" << TestLog::EndMessage;
2011	return returnValue;
2012}
2013
2014glw::GLuint CallLogWrapper::glGetSubroutineIndex (glw::GLuint program, glw::GLenum shadertype, const glw::GLchar *name)
2015{
2016	if (m_enableLog)
2017		m_log << TestLog::Message << "glGetSubroutineIndex(" << program << ", " << toHex(shadertype) << ", " << getStringStr(name) << ");" << TestLog::EndMessage;
2018	glw::GLuint returnValue = m_gl.getSubroutineIndex(program, shadertype, name);
2019	if (m_enableLog)
2020		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
2021	return returnValue;
2022}
2023
2024glw::GLint CallLogWrapper::glGetSubroutineUniformLocation (glw::GLuint program, glw::GLenum shadertype, const glw::GLchar *name)
2025{
2026	if (m_enableLog)
2027		m_log << TestLog::Message << "glGetSubroutineUniformLocation(" << program << ", " << toHex(shadertype) << ", " << getStringStr(name) << ");" << TestLog::EndMessage;
2028	glw::GLint returnValue = m_gl.getSubroutineUniformLocation(program, shadertype, name);
2029	if (m_enableLog)
2030		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
2031	return returnValue;
2032}
2033
2034void CallLogWrapper::glGetSynciv (glw::GLsync sync, glw::GLenum pname, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLint *values)
2035{
2036	if (m_enableLog)
2037		m_log << TestLog::Message << "glGetSynciv(" << sync << ", " << toHex(pname) << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(length))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(values))) << ");" << TestLog::EndMessage;
2038	m_gl.getSynciv(sync, pname, bufSize, length, values);
2039}
2040
2041void CallLogWrapper::glGetTexImage (glw::GLenum target, glw::GLint level, glw::GLenum format, glw::GLenum type, void *pixels)
2042{
2043	if (m_enableLog)
2044		m_log << TestLog::Message << "glGetTexImage(" << toHex(target) << ", " << level << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
2045	m_gl.getTexImage(target, level, format, type, pixels);
2046}
2047
2048void CallLogWrapper::glGetTexLevelParameterfv (glw::GLenum target, glw::GLint level, glw::GLenum pname, glw::GLfloat *params)
2049{
2050	if (m_enableLog)
2051		m_log << TestLog::Message << "glGetTexLevelParameterfv(" << getTextureTargetStr(target) << ", " << level << ", " << getTextureLevelParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2052	m_gl.getTexLevelParameterfv(target, level, pname, params);
2053	if (m_enableLog)
2054		m_log << TestLog::Message << "// params = " << getPointerStr(params, 1) << TestLog::EndMessage;
2055}
2056
2057void CallLogWrapper::glGetTexLevelParameteriv (glw::GLenum target, glw::GLint level, glw::GLenum pname, glw::GLint *params)
2058{
2059	if (m_enableLog)
2060		m_log << TestLog::Message << "glGetTexLevelParameteriv(" << getTextureTargetStr(target) << ", " << level << ", " << getTextureLevelParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2061	m_gl.getTexLevelParameteriv(target, level, pname, params);
2062	if (m_enableLog)
2063		m_log << TestLog::Message << "// params = " << getPointerStr(params, 1) << TestLog::EndMessage;
2064}
2065
2066void CallLogWrapper::glGetTexParameterIiv (glw::GLenum target, glw::GLenum pname, glw::GLint *params)
2067{
2068	if (m_enableLog)
2069		m_log << TestLog::Message << "glGetTexParameterIiv(" << getTextureTargetStr(target) << ", " << getTextureParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2070	m_gl.getTexParameterIiv(target, pname, params);
2071	if (m_enableLog)
2072		m_log << TestLog::Message << "// params = " << getPointerStr(params, getTextureParamQueryNumArgsOut(pname)) << TestLog::EndMessage;
2073}
2074
2075void CallLogWrapper::glGetTexParameterIuiv (glw::GLenum target, glw::GLenum pname, glw::GLuint *params)
2076{
2077	if (m_enableLog)
2078		m_log << TestLog::Message << "glGetTexParameterIuiv(" << getTextureTargetStr(target) << ", " << getTextureParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2079	m_gl.getTexParameterIuiv(target, pname, params);
2080	if (m_enableLog)
2081		m_log << TestLog::Message << "// params = " << getPointerStr(params, getTextureParamQueryNumArgsOut(pname)) << TestLog::EndMessage;
2082}
2083
2084void CallLogWrapper::glGetTexParameterfv (glw::GLenum target, glw::GLenum pname, glw::GLfloat *params)
2085{
2086	if (m_enableLog)
2087		m_log << TestLog::Message << "glGetTexParameterfv(" << getTextureTargetStr(target) << ", " << getTextureParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2088	m_gl.getTexParameterfv(target, pname, params);
2089	if (m_enableLog)
2090		m_log << TestLog::Message << "// params = " << getPointerStr(params, getTextureParamQueryNumArgsOut(pname)) << TestLog::EndMessage;
2091}
2092
2093void CallLogWrapper::glGetTexParameteriv (glw::GLenum target, glw::GLenum pname, glw::GLint *params)
2094{
2095	if (m_enableLog)
2096		m_log << TestLog::Message << "glGetTexParameteriv(" << getTextureTargetStr(target) << ", " << getTextureParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2097	m_gl.getTexParameteriv(target, pname, params);
2098	if (m_enableLog)
2099		m_log << TestLog::Message << "// params = " << getPointerStr(params, getTextureParamQueryNumArgsOut(pname)) << TestLog::EndMessage;
2100}
2101
2102void CallLogWrapper::glGetTextureImage (glw::GLuint texture, glw::GLint level, glw::GLenum format, glw::GLenum type, glw::GLsizei bufSize, void *pixels)
2103{
2104	if (m_enableLog)
2105		m_log << TestLog::Message << "glGetTextureImage(" << texture << ", " << level << ", " << toHex(format) << ", " << toHex(type) << ", " << bufSize << ", " << pixels << ");" << TestLog::EndMessage;
2106	m_gl.getTextureImage(texture, level, format, type, bufSize, pixels);
2107}
2108
2109void CallLogWrapper::glGetTextureLevelParameterfv (glw::GLuint texture, glw::GLint level, glw::GLenum pname, glw::GLfloat *params)
2110{
2111	if (m_enableLog)
2112		m_log << TestLog::Message << "glGetTextureLevelParameterfv(" << texture << ", " << level << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2113	m_gl.getTextureLevelParameterfv(texture, level, pname, params);
2114}
2115
2116void CallLogWrapper::glGetTextureLevelParameteriv (glw::GLuint texture, glw::GLint level, glw::GLenum pname, glw::GLint *params)
2117{
2118	if (m_enableLog)
2119		m_log << TestLog::Message << "glGetTextureLevelParameteriv(" << texture << ", " << level << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2120	m_gl.getTextureLevelParameteriv(texture, level, pname, params);
2121}
2122
2123void CallLogWrapper::glGetTextureParameterIiv (glw::GLuint texture, glw::GLenum pname, glw::GLint *params)
2124{
2125	if (m_enableLog)
2126		m_log << TestLog::Message << "glGetTextureParameterIiv(" << texture << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2127	m_gl.getTextureParameterIiv(texture, pname, params);
2128}
2129
2130void CallLogWrapper::glGetTextureParameterIuiv (glw::GLuint texture, glw::GLenum pname, glw::GLuint *params)
2131{
2132	if (m_enableLog)
2133		m_log << TestLog::Message << "glGetTextureParameterIuiv(" << texture << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2134	m_gl.getTextureParameterIuiv(texture, pname, params);
2135}
2136
2137void CallLogWrapper::glGetTextureParameterfv (glw::GLuint texture, glw::GLenum pname, glw::GLfloat *params)
2138{
2139	if (m_enableLog)
2140		m_log << TestLog::Message << "glGetTextureParameterfv(" << texture << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2141	m_gl.getTextureParameterfv(texture, pname, params);
2142}
2143
2144void CallLogWrapper::glGetTextureParameteriv (glw::GLuint texture, glw::GLenum pname, glw::GLint *params)
2145{
2146	if (m_enableLog)
2147		m_log << TestLog::Message << "glGetTextureParameteriv(" << texture << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2148	m_gl.getTextureParameteriv(texture, pname, params);
2149}
2150
2151void CallLogWrapper::glGetTextureSubImage (glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLenum format, glw::GLenum type, glw::GLsizei bufSize, void *pixels)
2152{
2153	if (m_enableLog)
2154		m_log << TestLog::Message << "glGetTextureSubImage(" << texture << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ", " << toHex(format) << ", " << toHex(type) << ", " << bufSize << ", " << pixels << ");" << TestLog::EndMessage;
2155	m_gl.getTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels);
2156}
2157
2158void CallLogWrapper::glGetTransformFeedbackVarying (glw::GLuint program, glw::GLuint index, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLsizei *size, glw::GLenum *type, glw::GLchar *name)
2159{
2160	if (m_enableLog)
2161		m_log << TestLog::Message << "glGetTransformFeedbackVarying(" << program << ", " << index << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(length))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(size))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(type))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(name))) << ");" << TestLog::EndMessage;
2162	m_gl.getTransformFeedbackVarying(program, index, bufSize, length, size, type, name);
2163}
2164
2165void CallLogWrapper::glGetTransformFeedbacki64_v (glw::GLuint xfb, glw::GLenum pname, glw::GLuint index, glw::GLint64 *param)
2166{
2167	if (m_enableLog)
2168		m_log << TestLog::Message << "glGetTransformFeedbacki64_v(" << xfb << ", " << toHex(pname) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(param))) << ");" << TestLog::EndMessage;
2169	m_gl.getTransformFeedbacki64_v(xfb, pname, index, param);
2170}
2171
2172void CallLogWrapper::glGetTransformFeedbacki_v (glw::GLuint xfb, glw::GLenum pname, glw::GLuint index, glw::GLint *param)
2173{
2174	if (m_enableLog)
2175		m_log << TestLog::Message << "glGetTransformFeedbacki_v(" << xfb << ", " << toHex(pname) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(param))) << ");" << TestLog::EndMessage;
2176	m_gl.getTransformFeedbacki_v(xfb, pname, index, param);
2177}
2178
2179void CallLogWrapper::glGetTransformFeedbackiv (glw::GLuint xfb, glw::GLenum pname, glw::GLint *param)
2180{
2181	if (m_enableLog)
2182		m_log << TestLog::Message << "glGetTransformFeedbackiv(" << xfb << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(param))) << ");" << TestLog::EndMessage;
2183	m_gl.getTransformFeedbackiv(xfb, pname, param);
2184}
2185
2186glw::GLuint CallLogWrapper::glGetUniformBlockIndex (glw::GLuint program, const glw::GLchar *uniformBlockName)
2187{
2188	if (m_enableLog)
2189		m_log << TestLog::Message << "glGetUniformBlockIndex(" << program << ", " << getStringStr(uniformBlockName) << ");" << TestLog::EndMessage;
2190	glw::GLuint returnValue = m_gl.getUniformBlockIndex(program, uniformBlockName);
2191	if (m_enableLog)
2192		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
2193	return returnValue;
2194}
2195
2196void CallLogWrapper::glGetUniformIndices (glw::GLuint program, glw::GLsizei uniformCount, const glw::GLchar *const*uniformNames, glw::GLuint *uniformIndices)
2197{
2198	if (m_enableLog)
2199		m_log << TestLog::Message << "glGetUniformIndices(" << program << ", " << uniformCount << ", " << getPointerStr(uniformNames, uniformCount) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(uniformIndices))) << ");" << TestLog::EndMessage;
2200	m_gl.getUniformIndices(program, uniformCount, uniformNames, uniformIndices);
2201	if (m_enableLog)
2202		m_log << TestLog::Message << "// uniformIndices = " << getPointerStr(uniformIndices, uniformCount) << TestLog::EndMessage;
2203}
2204
2205glw::GLint CallLogWrapper::glGetUniformLocation (glw::GLuint program, const glw::GLchar *name)
2206{
2207	if (m_enableLog)
2208		m_log << TestLog::Message << "glGetUniformLocation(" << program << ", " << getStringStr(name) << ");" << TestLog::EndMessage;
2209	glw::GLint returnValue = m_gl.getUniformLocation(program, name);
2210	if (m_enableLog)
2211		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
2212	return returnValue;
2213}
2214
2215void CallLogWrapper::glGetUniformSubroutineuiv (glw::GLenum shadertype, glw::GLint location, glw::GLuint *params)
2216{
2217	if (m_enableLog)
2218		m_log << TestLog::Message << "glGetUniformSubroutineuiv(" << toHex(shadertype) << ", " << location << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2219	m_gl.getUniformSubroutineuiv(shadertype, location, params);
2220}
2221
2222void CallLogWrapper::glGetUniformdv (glw::GLuint program, glw::GLint location, glw::GLdouble *params)
2223{
2224	if (m_enableLog)
2225		m_log << TestLog::Message << "glGetUniformdv(" << program << ", " << location << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2226	m_gl.getUniformdv(program, location, params);
2227}
2228
2229void CallLogWrapper::glGetUniformfv (glw::GLuint program, glw::GLint location, glw::GLfloat *params)
2230{
2231	if (m_enableLog)
2232		m_log << TestLog::Message << "glGetUniformfv(" << program << ", " << location << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2233	m_gl.getUniformfv(program, location, params);
2234}
2235
2236void CallLogWrapper::glGetUniformiv (glw::GLuint program, glw::GLint location, glw::GLint *params)
2237{
2238	if (m_enableLog)
2239		m_log << TestLog::Message << "glGetUniformiv(" << program << ", " << location << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2240	m_gl.getUniformiv(program, location, params);
2241}
2242
2243void CallLogWrapper::glGetUniformuiv (glw::GLuint program, glw::GLint location, glw::GLuint *params)
2244{
2245	if (m_enableLog)
2246		m_log << TestLog::Message << "glGetUniformuiv(" << program << ", " << location << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2247	m_gl.getUniformuiv(program, location, params);
2248}
2249
2250void CallLogWrapper::glGetVertexArrayIndexed64iv (glw::GLuint vaobj, glw::GLuint index, glw::GLenum pname, glw::GLint64 *param)
2251{
2252	if (m_enableLog)
2253		m_log << TestLog::Message << "glGetVertexArrayIndexed64iv(" << vaobj << ", " << index << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(param))) << ");" << TestLog::EndMessage;
2254	m_gl.getVertexArrayIndexed64iv(vaobj, index, pname, param);
2255}
2256
2257void CallLogWrapper::glGetVertexArrayIndexediv (glw::GLuint vaobj, glw::GLuint index, glw::GLenum pname, glw::GLint *param)
2258{
2259	if (m_enableLog)
2260		m_log << TestLog::Message << "glGetVertexArrayIndexediv(" << vaobj << ", " << index << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(param))) << ");" << TestLog::EndMessage;
2261	m_gl.getVertexArrayIndexediv(vaobj, index, pname, param);
2262}
2263
2264void CallLogWrapper::glGetVertexArrayiv (glw::GLuint vaobj, glw::GLenum pname, glw::GLint *param)
2265{
2266	if (m_enableLog)
2267		m_log << TestLog::Message << "glGetVertexArrayiv(" << vaobj << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(param))) << ");" << TestLog::EndMessage;
2268	m_gl.getVertexArrayiv(vaobj, pname, param);
2269}
2270
2271void CallLogWrapper::glGetVertexAttribIiv (glw::GLuint index, glw::GLenum pname, glw::GLint *params)
2272{
2273	if (m_enableLog)
2274		m_log << TestLog::Message << "glGetVertexAttribIiv(" << index << ", " << getVertexAttribParameterNameStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2275	m_gl.getVertexAttribIiv(index, pname, params);
2276	if (m_enableLog)
2277		m_log << TestLog::Message << "// params = " << getPointerStr(params, getAttributeQueryNumArgsOut(pname)) << TestLog::EndMessage;
2278}
2279
2280void CallLogWrapper::glGetVertexAttribIuiv (glw::GLuint index, glw::GLenum pname, glw::GLuint *params)
2281{
2282	if (m_enableLog)
2283		m_log << TestLog::Message << "glGetVertexAttribIuiv(" << index << ", " << getVertexAttribParameterNameStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2284	m_gl.getVertexAttribIuiv(index, pname, params);
2285	if (m_enableLog)
2286		m_log << TestLog::Message << "// params = " << getPointerStr(params, getAttributeQueryNumArgsOut(pname)) << TestLog::EndMessage;
2287}
2288
2289void CallLogWrapper::glGetVertexAttribLdv (glw::GLuint index, glw::GLenum pname, glw::GLdouble *params)
2290{
2291	if (m_enableLog)
2292		m_log << TestLog::Message << "glGetVertexAttribLdv(" << index << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2293	m_gl.getVertexAttribLdv(index, pname, params);
2294}
2295
2296void CallLogWrapper::glGetVertexAttribPointerv (glw::GLuint index, glw::GLenum pname, void **pointer)
2297{
2298	if (m_enableLog)
2299		m_log << TestLog::Message << "glGetVertexAttribPointerv(" << index << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(pointer))) << ");" << TestLog::EndMessage;
2300	m_gl.getVertexAttribPointerv(index, pname, pointer);
2301}
2302
2303void CallLogWrapper::glGetVertexAttribdv (glw::GLuint index, glw::GLenum pname, glw::GLdouble *params)
2304{
2305	if (m_enableLog)
2306		m_log << TestLog::Message << "glGetVertexAttribdv(" << index << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2307	m_gl.getVertexAttribdv(index, pname, params);
2308}
2309
2310void CallLogWrapper::glGetVertexAttribfv (glw::GLuint index, glw::GLenum pname, glw::GLfloat *params)
2311{
2312	if (m_enableLog)
2313		m_log << TestLog::Message << "glGetVertexAttribfv(" << index << ", " << getVertexAttribParameterNameStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2314	m_gl.getVertexAttribfv(index, pname, params);
2315	if (m_enableLog)
2316		m_log << TestLog::Message << "// params = " << getPointerStr(params, getAttributeQueryNumArgsOut(pname)) << TestLog::EndMessage;
2317}
2318
2319void CallLogWrapper::glGetVertexAttribiv (glw::GLuint index, glw::GLenum pname, glw::GLint *params)
2320{
2321	if (m_enableLog)
2322		m_log << TestLog::Message << "glGetVertexAttribiv(" << index << ", " << getVertexAttribParameterNameStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2323	m_gl.getVertexAttribiv(index, pname, params);
2324	if (m_enableLog)
2325		m_log << TestLog::Message << "// params = " << getPointerStr(params, getAttributeQueryNumArgsOut(pname)) << TestLog::EndMessage;
2326}
2327
2328void CallLogWrapper::glGetnCompressedTexImage (glw::GLenum target, glw::GLint lod, glw::GLsizei bufSize, void *pixels)
2329{
2330	if (m_enableLog)
2331		m_log << TestLog::Message << "glGetnCompressedTexImage(" << toHex(target) << ", " << lod << ", " << bufSize << ", " << pixels << ");" << TestLog::EndMessage;
2332	m_gl.getnCompressedTexImage(target, lod, bufSize, pixels);
2333}
2334
2335void CallLogWrapper::glGetnTexImage (glw::GLenum target, glw::GLint level, glw::GLenum format, glw::GLenum type, glw::GLsizei bufSize, void *pixels)
2336{
2337	if (m_enableLog)
2338		m_log << TestLog::Message << "glGetnTexImage(" << toHex(target) << ", " << level << ", " << toHex(format) << ", " << toHex(type) << ", " << bufSize << ", " << pixels << ");" << TestLog::EndMessage;
2339	m_gl.getnTexImage(target, level, format, type, bufSize, pixels);
2340}
2341
2342void CallLogWrapper::glGetnUniformdv (glw::GLuint program, glw::GLint location, glw::GLsizei bufSize, glw::GLdouble *params)
2343{
2344	if (m_enableLog)
2345		m_log << TestLog::Message << "glGetnUniformdv(" << program << ", " << location << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2346	m_gl.getnUniformdv(program, location, bufSize, params);
2347}
2348
2349void CallLogWrapper::glGetnUniformfv (glw::GLuint program, glw::GLint location, glw::GLsizei bufSize, glw::GLfloat *params)
2350{
2351	if (m_enableLog)
2352		m_log << TestLog::Message << "glGetnUniformfv(" << program << ", " << location << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2353	m_gl.getnUniformfv(program, location, bufSize, params);
2354}
2355
2356void CallLogWrapper::glGetnUniformiv (glw::GLuint program, glw::GLint location, glw::GLsizei bufSize, glw::GLint *params)
2357{
2358	if (m_enableLog)
2359		m_log << TestLog::Message << "glGetnUniformiv(" << program << ", " << location << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2360	m_gl.getnUniformiv(program, location, bufSize, params);
2361}
2362
2363void CallLogWrapper::glGetnUniformuiv (glw::GLuint program, glw::GLint location, glw::GLsizei bufSize, glw::GLuint *params)
2364{
2365	if (m_enableLog)
2366		m_log << TestLog::Message << "glGetnUniformuiv(" << program << ", " << location << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2367	m_gl.getnUniformuiv(program, location, bufSize, params);
2368}
2369
2370void CallLogWrapper::glHint (glw::GLenum target, glw::GLenum mode)
2371{
2372	if (m_enableLog)
2373		m_log << TestLog::Message << "glHint(" << getHintStr(target) << ", " << getHintModeStr(mode) << ");" << TestLog::EndMessage;
2374	m_gl.hint(target, mode);
2375}
2376
2377void CallLogWrapper::glInsertEventMarkerEXT (glw::GLsizei length, const glw::GLchar *marker)
2378{
2379	if (m_enableLog)
2380		m_log << TestLog::Message << "glInsertEventMarkerEXT(" << length << ", " << getStringStr(marker) << ");" << TestLog::EndMessage;
2381	m_gl.insertEventMarkerEXT(length, marker);
2382}
2383
2384void CallLogWrapper::glInvalidateBufferData (glw::GLuint buffer)
2385{
2386	if (m_enableLog)
2387		m_log << TestLog::Message << "glInvalidateBufferData(" << buffer << ");" << TestLog::EndMessage;
2388	m_gl.invalidateBufferData(buffer);
2389}
2390
2391void CallLogWrapper::glInvalidateBufferSubData (glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr length)
2392{
2393	if (m_enableLog)
2394		m_log << TestLog::Message << "glInvalidateBufferSubData(" << buffer << ", " << offset << ", " << length << ");" << TestLog::EndMessage;
2395	m_gl.invalidateBufferSubData(buffer, offset, length);
2396}
2397
2398void CallLogWrapper::glInvalidateFramebuffer (glw::GLenum target, glw::GLsizei numAttachments, const glw::GLenum *attachments)
2399{
2400	if (m_enableLog)
2401		m_log << TestLog::Message << "glInvalidateFramebuffer(" << getFramebufferTargetStr(target) << ", " << numAttachments << ", " << getEnumPointerStr(attachments, numAttachments, getInvalidateAttachmentName) << ");" << TestLog::EndMessage;
2402	m_gl.invalidateFramebuffer(target, numAttachments, attachments);
2403}
2404
2405void CallLogWrapper::glInvalidateNamedFramebufferData (glw::GLuint framebuffer, glw::GLsizei numAttachments, const glw::GLenum *attachments)
2406{
2407	if (m_enableLog)
2408		m_log << TestLog::Message << "glInvalidateNamedFramebufferData(" << framebuffer << ", " << numAttachments << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(attachments))) << ");" << TestLog::EndMessage;
2409	m_gl.invalidateNamedFramebufferData(framebuffer, numAttachments, attachments);
2410}
2411
2412void CallLogWrapper::glInvalidateNamedFramebufferSubData (glw::GLuint framebuffer, glw::GLsizei numAttachments, const glw::GLenum *attachments, glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height)
2413{
2414	if (m_enableLog)
2415		m_log << TestLog::Message << "glInvalidateNamedFramebufferSubData(" << framebuffer << ", " << numAttachments << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(attachments))) << ", " << x << ", " << y << ", " << width << ", " << height << ");" << TestLog::EndMessage;
2416	m_gl.invalidateNamedFramebufferSubData(framebuffer, numAttachments, attachments, x, y, width, height);
2417}
2418
2419void CallLogWrapper::glInvalidateSubFramebuffer (glw::GLenum target, glw::GLsizei numAttachments, const glw::GLenum *attachments, glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height)
2420{
2421	if (m_enableLog)
2422		m_log << TestLog::Message << "glInvalidateSubFramebuffer(" << getFramebufferTargetStr(target) << ", " << numAttachments << ", " << getEnumPointerStr(attachments, numAttachments, getInvalidateAttachmentName) << ", " << x << ", " << y << ", " << width << ", " << height << ");" << TestLog::EndMessage;
2423	m_gl.invalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height);
2424}
2425
2426void CallLogWrapper::glInvalidateTexImage (glw::GLuint texture, glw::GLint level)
2427{
2428	if (m_enableLog)
2429		m_log << TestLog::Message << "glInvalidateTexImage(" << texture << ", " << level << ");" << TestLog::EndMessage;
2430	m_gl.invalidateTexImage(texture, level);
2431}
2432
2433void CallLogWrapper::glInvalidateTexSubImage (glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth)
2434{
2435	if (m_enableLog)
2436		m_log << TestLog::Message << "glInvalidateTexSubImage(" << texture << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ");" << TestLog::EndMessage;
2437	m_gl.invalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth);
2438}
2439
2440glw::GLboolean CallLogWrapper::glIsBuffer (glw::GLuint buffer)
2441{
2442	if (m_enableLog)
2443		m_log << TestLog::Message << "glIsBuffer(" << buffer << ");" << TestLog::EndMessage;
2444	glw::GLboolean returnValue = m_gl.isBuffer(buffer);
2445	if (m_enableLog)
2446		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
2447	return returnValue;
2448}
2449
2450glw::GLboolean CallLogWrapper::glIsEnabled (glw::GLenum cap)
2451{
2452	if (m_enableLog)
2453		m_log << TestLog::Message << "glIsEnabled(" << getEnableCapStr(cap) << ");" << TestLog::EndMessage;
2454	glw::GLboolean returnValue = m_gl.isEnabled(cap);
2455	if (m_enableLog)
2456		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
2457	return returnValue;
2458}
2459
2460glw::GLboolean CallLogWrapper::glIsEnabledi (glw::GLenum target, glw::GLuint index)
2461{
2462	if (m_enableLog)
2463		m_log << TestLog::Message << "glIsEnabledi(" << getIndexedEnableCapStr(target) << ", " << index << ");" << TestLog::EndMessage;
2464	glw::GLboolean returnValue = m_gl.isEnabledi(target, index);
2465	if (m_enableLog)
2466		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
2467	return returnValue;
2468}
2469
2470glw::GLboolean CallLogWrapper::glIsFramebuffer (glw::GLuint framebuffer)
2471{
2472	if (m_enableLog)
2473		m_log << TestLog::Message << "glIsFramebuffer(" << framebuffer << ");" << TestLog::EndMessage;
2474	glw::GLboolean returnValue = m_gl.isFramebuffer(framebuffer);
2475	if (m_enableLog)
2476		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
2477	return returnValue;
2478}
2479
2480glw::GLboolean CallLogWrapper::glIsProgram (glw::GLuint program)
2481{
2482	if (m_enableLog)
2483		m_log << TestLog::Message << "glIsProgram(" << program << ");" << TestLog::EndMessage;
2484	glw::GLboolean returnValue = m_gl.isProgram(program);
2485	if (m_enableLog)
2486		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
2487	return returnValue;
2488}
2489
2490glw::GLboolean CallLogWrapper::glIsProgramPipeline (glw::GLuint pipeline)
2491{
2492	if (m_enableLog)
2493		m_log << TestLog::Message << "glIsProgramPipeline(" << pipeline << ");" << TestLog::EndMessage;
2494	glw::GLboolean returnValue = m_gl.isProgramPipeline(pipeline);
2495	if (m_enableLog)
2496		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
2497	return returnValue;
2498}
2499
2500glw::GLboolean CallLogWrapper::glIsQuery (glw::GLuint id)
2501{
2502	if (m_enableLog)
2503		m_log << TestLog::Message << "glIsQuery(" << id << ");" << TestLog::EndMessage;
2504	glw::GLboolean returnValue = m_gl.isQuery(id);
2505	if (m_enableLog)
2506		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
2507	return returnValue;
2508}
2509
2510glw::GLboolean CallLogWrapper::glIsRenderbuffer (glw::GLuint renderbuffer)
2511{
2512	if (m_enableLog)
2513		m_log << TestLog::Message << "glIsRenderbuffer(" << renderbuffer << ");" << TestLog::EndMessage;
2514	glw::GLboolean returnValue = m_gl.isRenderbuffer(renderbuffer);
2515	if (m_enableLog)
2516		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
2517	return returnValue;
2518}
2519
2520glw::GLboolean CallLogWrapper::glIsSampler (glw::GLuint sampler)
2521{
2522	if (m_enableLog)
2523		m_log << TestLog::Message << "glIsSampler(" << sampler << ");" << TestLog::EndMessage;
2524	glw::GLboolean returnValue = m_gl.isSampler(sampler);
2525	if (m_enableLog)
2526		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
2527	return returnValue;
2528}
2529
2530glw::GLboolean CallLogWrapper::glIsShader (glw::GLuint shader)
2531{
2532	if (m_enableLog)
2533		m_log << TestLog::Message << "glIsShader(" << shader << ");" << TestLog::EndMessage;
2534	glw::GLboolean returnValue = m_gl.isShader(shader);
2535	if (m_enableLog)
2536		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
2537	return returnValue;
2538}
2539
2540glw::GLboolean CallLogWrapper::glIsSync (glw::GLsync sync)
2541{
2542	if (m_enableLog)
2543		m_log << TestLog::Message << "glIsSync(" << sync << ");" << TestLog::EndMessage;
2544	glw::GLboolean returnValue = m_gl.isSync(sync);
2545	if (m_enableLog)
2546		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
2547	return returnValue;
2548}
2549
2550glw::GLboolean CallLogWrapper::glIsTexture (glw::GLuint texture)
2551{
2552	if (m_enableLog)
2553		m_log << TestLog::Message << "glIsTexture(" << texture << ");" << TestLog::EndMessage;
2554	glw::GLboolean returnValue = m_gl.isTexture(texture);
2555	if (m_enableLog)
2556		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
2557	return returnValue;
2558}
2559
2560glw::GLboolean CallLogWrapper::glIsTransformFeedback (glw::GLuint id)
2561{
2562	if (m_enableLog)
2563		m_log << TestLog::Message << "glIsTransformFeedback(" << id << ");" << TestLog::EndMessage;
2564	glw::GLboolean returnValue = m_gl.isTransformFeedback(id);
2565	if (m_enableLog)
2566		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
2567	return returnValue;
2568}
2569
2570glw::GLboolean CallLogWrapper::glIsVertexArray (glw::GLuint array)
2571{
2572	if (m_enableLog)
2573		m_log << TestLog::Message << "glIsVertexArray(" << array << ");" << TestLog::EndMessage;
2574	glw::GLboolean returnValue = m_gl.isVertexArray(array);
2575	if (m_enableLog)
2576		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
2577	return returnValue;
2578}
2579
2580void CallLogWrapper::glLineWidth (glw::GLfloat width)
2581{
2582	if (m_enableLog)
2583		m_log << TestLog::Message << "glLineWidth(" << width << ");" << TestLog::EndMessage;
2584	m_gl.lineWidth(width);
2585}
2586
2587void CallLogWrapper::glLinkProgram (glw::GLuint program)
2588{
2589	if (m_enableLog)
2590		m_log << TestLog::Message << "glLinkProgram(" << program << ");" << TestLog::EndMessage;
2591	m_gl.linkProgram(program);
2592}
2593
2594void CallLogWrapper::glLogicOp (glw::GLenum opcode)
2595{
2596	if (m_enableLog)
2597		m_log << TestLog::Message << "glLogicOp(" << toHex(opcode) << ");" << TestLog::EndMessage;
2598	m_gl.logicOp(opcode);
2599}
2600
2601void * CallLogWrapper::glMapBuffer (glw::GLenum target, glw::GLenum access)
2602{
2603	if (m_enableLog)
2604		m_log << TestLog::Message << "glMapBuffer(" << toHex(target) << ", " << toHex(access) << ");" << TestLog::EndMessage;
2605	void * returnValue = m_gl.mapBuffer(target, access);
2606	if (m_enableLog)
2607		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
2608	return returnValue;
2609}
2610
2611void * CallLogWrapper::glMapBufferRange (glw::GLenum target, glw::GLintptr offset, glw::GLsizeiptr length, glw::GLbitfield access)
2612{
2613	if (m_enableLog)
2614		m_log << TestLog::Message << "glMapBufferRange(" << getBufferTargetStr(target) << ", " << offset << ", " << length << ", " << getBufferMapFlagsStr(access) << ");" << TestLog::EndMessage;
2615	void * returnValue = m_gl.mapBufferRange(target, offset, length, access);
2616	if (m_enableLog)
2617		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
2618	return returnValue;
2619}
2620
2621void * CallLogWrapper::glMapNamedBuffer (glw::GLuint buffer, glw::GLenum access)
2622{
2623	if (m_enableLog)
2624		m_log << TestLog::Message << "glMapNamedBuffer(" << buffer << ", " << toHex(access) << ");" << TestLog::EndMessage;
2625	void * returnValue = m_gl.mapNamedBuffer(buffer, access);
2626	if (m_enableLog)
2627		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
2628	return returnValue;
2629}
2630
2631void * CallLogWrapper::glMapNamedBufferRange (glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr length, glw::GLbitfield access)
2632{
2633	if (m_enableLog)
2634		m_log << TestLog::Message << "glMapNamedBufferRange(" << buffer << ", " << offset << ", " << length << ", " << toHex(access) << ");" << TestLog::EndMessage;
2635	void * returnValue = m_gl.mapNamedBufferRange(buffer, offset, length, access);
2636	if (m_enableLog)
2637		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
2638	return returnValue;
2639}
2640
2641void CallLogWrapper::glMemoryBarrier (glw::GLbitfield barriers)
2642{
2643	if (m_enableLog)
2644		m_log << TestLog::Message << "glMemoryBarrier(" << getMemoryBarrierFlagsStr(barriers) << ");" << TestLog::EndMessage;
2645	m_gl.memoryBarrier(barriers);
2646}
2647
2648void CallLogWrapper::glMemoryBarrierByRegion (glw::GLbitfield barriers)
2649{
2650	if (m_enableLog)
2651		m_log << TestLog::Message << "glMemoryBarrierByRegion(" << toHex(barriers) << ");" << TestLog::EndMessage;
2652	m_gl.memoryBarrierByRegion(barriers);
2653}
2654
2655void CallLogWrapper::glMinSampleShading (glw::GLfloat value)
2656{
2657	if (m_enableLog)
2658		m_log << TestLog::Message << "glMinSampleShading(" << value << ");" << TestLog::EndMessage;
2659	m_gl.minSampleShading(value);
2660}
2661
2662void CallLogWrapper::glMultiDrawArrays (glw::GLenum mode, const glw::GLint *first, const glw::GLsizei *count, glw::GLsizei drawcount)
2663{
2664	if (m_enableLog)
2665		m_log << TestLog::Message << "glMultiDrawArrays(" << getPrimitiveTypeStr(mode) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(first))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(count))) << ", " << drawcount << ");" << TestLog::EndMessage;
2666	m_gl.multiDrawArrays(mode, first, count, drawcount);
2667}
2668
2669void CallLogWrapper::glMultiDrawArraysIndirect (glw::GLenum mode, const void *indirect, glw::GLsizei drawcount, glw::GLsizei stride)
2670{
2671	if (m_enableLog)
2672		m_log << TestLog::Message << "glMultiDrawArraysIndirect(" << toHex(mode) << ", " << indirect << ", " << drawcount << ", " << stride << ");" << TestLog::EndMessage;
2673	m_gl.multiDrawArraysIndirect(mode, indirect, drawcount, stride);
2674}
2675
2676void CallLogWrapper::glMultiDrawElements (glw::GLenum mode, const glw::GLsizei *count, glw::GLenum type, const void *const*indices, glw::GLsizei drawcount)
2677{
2678	if (m_enableLog)
2679		m_log << TestLog::Message << "glMultiDrawElements(" << getPrimitiveTypeStr(mode) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(count))) << ", " << getTypeStr(type) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(indices))) << ", " << drawcount << ");" << TestLog::EndMessage;
2680	m_gl.multiDrawElements(mode, count, type, indices, drawcount);
2681}
2682
2683void CallLogWrapper::glMultiDrawElementsBaseVertex (glw::GLenum mode, const glw::GLsizei *count, glw::GLenum type, const void *const*indices, glw::GLsizei drawcount, const glw::GLint *basevertex)
2684{
2685	if (m_enableLog)
2686		m_log << TestLog::Message << "glMultiDrawElementsBaseVertex(" << getPrimitiveTypeStr(mode) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(count))) << ", " << getTypeStr(type) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(indices))) << ", " << drawcount << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(basevertex))) << ");" << TestLog::EndMessage;
2687	m_gl.multiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex);
2688}
2689
2690void CallLogWrapper::glMultiDrawElementsIndirect (glw::GLenum mode, glw::GLenum type, const void *indirect, glw::GLsizei drawcount, glw::GLsizei stride)
2691{
2692	if (m_enableLog)
2693		m_log << TestLog::Message << "glMultiDrawElementsIndirect(" << toHex(mode) << ", " << toHex(type) << ", " << indirect << ", " << drawcount << ", " << stride << ");" << TestLog::EndMessage;
2694	m_gl.multiDrawElementsIndirect(mode, type, indirect, drawcount, stride);
2695}
2696
2697void CallLogWrapper::glNamedBufferData (glw::GLuint buffer, glw::GLsizeiptr size, const void *data, glw::GLenum usage)
2698{
2699	if (m_enableLog)
2700		m_log << TestLog::Message << "glNamedBufferData(" << buffer << ", " << size << ", " << data << ", " << toHex(usage) << ");" << TestLog::EndMessage;
2701	m_gl.namedBufferData(buffer, size, data, usage);
2702}
2703
2704void CallLogWrapper::glNamedBufferStorage (glw::GLuint buffer, glw::GLsizeiptr size, const void *data, glw::GLbitfield flags)
2705{
2706	if (m_enableLog)
2707		m_log << TestLog::Message << "glNamedBufferStorage(" << buffer << ", " << size << ", " << data << ", " << toHex(flags) << ");" << TestLog::EndMessage;
2708	m_gl.namedBufferStorage(buffer, size, data, flags);
2709}
2710
2711void CallLogWrapper::glNamedBufferSubData (glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size, const void *data)
2712{
2713	if (m_enableLog)
2714		m_log << TestLog::Message << "glNamedBufferSubData(" << buffer << ", " << offset << ", " << size << ", " << data << ");" << TestLog::EndMessage;
2715	m_gl.namedBufferSubData(buffer, offset, size, data);
2716}
2717
2718void CallLogWrapper::glNamedFramebufferDrawBuffer (glw::GLuint framebuffer, glw::GLenum buf)
2719{
2720	if (m_enableLog)
2721		m_log << TestLog::Message << "glNamedFramebufferDrawBuffer(" << framebuffer << ", " << toHex(buf) << ");" << TestLog::EndMessage;
2722	m_gl.namedFramebufferDrawBuffer(framebuffer, buf);
2723}
2724
2725void CallLogWrapper::glNamedFramebufferDrawBuffers (glw::GLuint framebuffer, glw::GLsizei n, const glw::GLenum *bufs)
2726{
2727	if (m_enableLog)
2728		m_log << TestLog::Message << "glNamedFramebufferDrawBuffers(" << framebuffer << ", " << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(bufs))) << ");" << TestLog::EndMessage;
2729	m_gl.namedFramebufferDrawBuffers(framebuffer, n, bufs);
2730}
2731
2732void CallLogWrapper::glNamedFramebufferParameteri (glw::GLuint framebuffer, glw::GLenum pname, glw::GLint param)
2733{
2734	if (m_enableLog)
2735		m_log << TestLog::Message << "glNamedFramebufferParameteri(" << framebuffer << ", " << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
2736	m_gl.namedFramebufferParameteri(framebuffer, pname, param);
2737}
2738
2739void CallLogWrapper::glNamedFramebufferReadBuffer (glw::GLuint framebuffer, glw::GLenum src)
2740{
2741	if (m_enableLog)
2742		m_log << TestLog::Message << "glNamedFramebufferReadBuffer(" << framebuffer << ", " << toHex(src) << ");" << TestLog::EndMessage;
2743	m_gl.namedFramebufferReadBuffer(framebuffer, src);
2744}
2745
2746void CallLogWrapper::glNamedFramebufferRenderbuffer (glw::GLuint framebuffer, glw::GLenum attachment, glw::GLenum renderbuffertarget, glw::GLuint renderbuffer)
2747{
2748	if (m_enableLog)
2749		m_log << TestLog::Message << "glNamedFramebufferRenderbuffer(" << framebuffer << ", " << toHex(attachment) << ", " << toHex(renderbuffertarget) << ", " << renderbuffer << ");" << TestLog::EndMessage;
2750	m_gl.namedFramebufferRenderbuffer(framebuffer, attachment, renderbuffertarget, renderbuffer);
2751}
2752
2753void CallLogWrapper::glNamedFramebufferTexture (glw::GLuint framebuffer, glw::GLenum attachment, glw::GLuint texture, glw::GLint level)
2754{
2755	if (m_enableLog)
2756		m_log << TestLog::Message << "glNamedFramebufferTexture(" << framebuffer << ", " << toHex(attachment) << ", " << texture << ", " << level << ");" << TestLog::EndMessage;
2757	m_gl.namedFramebufferTexture(framebuffer, attachment, texture, level);
2758}
2759
2760void CallLogWrapper::glNamedFramebufferTextureLayer (glw::GLuint framebuffer, glw::GLenum attachment, glw::GLuint texture, glw::GLint level, glw::GLint layer)
2761{
2762	if (m_enableLog)
2763		m_log << TestLog::Message << "glNamedFramebufferTextureLayer(" << framebuffer << ", " << toHex(attachment) << ", " << texture << ", " << level << ", " << layer << ");" << TestLog::EndMessage;
2764	m_gl.namedFramebufferTextureLayer(framebuffer, attachment, texture, level, layer);
2765}
2766
2767void CallLogWrapper::glNamedRenderbufferStorage (glw::GLuint renderbuffer, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height)
2768{
2769	if (m_enableLog)
2770		m_log << TestLog::Message << "glNamedRenderbufferStorage(" << renderbuffer << ", " << toHex(internalformat) << ", " << width << ", " << height << ");" << TestLog::EndMessage;
2771	m_gl.namedRenderbufferStorage(renderbuffer, internalformat, width, height);
2772}
2773
2774void CallLogWrapper::glNamedRenderbufferStorageMultisample (glw::GLuint renderbuffer, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height)
2775{
2776	if (m_enableLog)
2777		m_log << TestLog::Message << "glNamedRenderbufferStorageMultisample(" << renderbuffer << ", " << samples << ", " << toHex(internalformat) << ", " << width << ", " << height << ");" << TestLog::EndMessage;
2778	m_gl.namedRenderbufferStorageMultisample(renderbuffer, samples, internalformat, width, height);
2779}
2780
2781void CallLogWrapper::glObjectLabel (glw::GLenum identifier, glw::GLuint name, glw::GLsizei length, const glw::GLchar *label)
2782{
2783	if (m_enableLog)
2784		m_log << TestLog::Message << "glObjectLabel(" << toHex(identifier) << ", " << name << ", " << length << ", " << getStringStr(label) << ");" << TestLog::EndMessage;
2785	m_gl.objectLabel(identifier, name, length, label);
2786}
2787
2788void CallLogWrapper::glObjectPtrLabel (const void *ptr, glw::GLsizei length, const glw::GLchar *label)
2789{
2790	if (m_enableLog)
2791		m_log << TestLog::Message << "glObjectPtrLabel(" << ptr << ", " << length << ", " << getStringStr(label) << ");" << TestLog::EndMessage;
2792	m_gl.objectPtrLabel(ptr, length, label);
2793}
2794
2795void CallLogWrapper::glPatchParameterfv (glw::GLenum pname, const glw::GLfloat *values)
2796{
2797	if (m_enableLog)
2798		m_log << TestLog::Message << "glPatchParameterfv(" << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(values))) << ");" << TestLog::EndMessage;
2799	m_gl.patchParameterfv(pname, values);
2800}
2801
2802void CallLogWrapper::glPatchParameteri (glw::GLenum pname, glw::GLint value)
2803{
2804	if (m_enableLog)
2805		m_log << TestLog::Message << "glPatchParameteri(" << getPatchParamStr(pname) << ", " << value << ");" << TestLog::EndMessage;
2806	m_gl.patchParameteri(pname, value);
2807}
2808
2809void CallLogWrapper::glPauseTransformFeedback (void)
2810{
2811	if (m_enableLog)
2812		m_log << TestLog::Message << "glPauseTransformFeedback(" << ");" << TestLog::EndMessage;
2813	m_gl.pauseTransformFeedback();
2814}
2815
2816void CallLogWrapper::glPixelStoref (glw::GLenum pname, glw::GLfloat param)
2817{
2818	if (m_enableLog)
2819		m_log << TestLog::Message << "glPixelStoref(" << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
2820	m_gl.pixelStoref(pname, param);
2821}
2822
2823void CallLogWrapper::glPixelStorei (glw::GLenum pname, glw::GLint param)
2824{
2825	if (m_enableLog)
2826		m_log << TestLog::Message << "glPixelStorei(" << getPixelStoreParameterStr(pname) << ", " << param << ");" << TestLog::EndMessage;
2827	m_gl.pixelStorei(pname, param);
2828}
2829
2830void CallLogWrapper::glPointParameterf (glw::GLenum pname, glw::GLfloat param)
2831{
2832	if (m_enableLog)
2833		m_log << TestLog::Message << "glPointParameterf(" << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
2834	m_gl.pointParameterf(pname, param);
2835}
2836
2837void CallLogWrapper::glPointParameterfv (glw::GLenum pname, const glw::GLfloat *params)
2838{
2839	if (m_enableLog)
2840		m_log << TestLog::Message << "glPointParameterfv(" << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2841	m_gl.pointParameterfv(pname, params);
2842}
2843
2844void CallLogWrapper::glPointParameteri (glw::GLenum pname, glw::GLint param)
2845{
2846	if (m_enableLog)
2847		m_log << TestLog::Message << "glPointParameteri(" << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
2848	m_gl.pointParameteri(pname, param);
2849}
2850
2851void CallLogWrapper::glPointParameteriv (glw::GLenum pname, const glw::GLint *params)
2852{
2853	if (m_enableLog)
2854		m_log << TestLog::Message << "glPointParameteriv(" << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
2855	m_gl.pointParameteriv(pname, params);
2856}
2857
2858void CallLogWrapper::glPointSize (glw::GLfloat size)
2859{
2860	if (m_enableLog)
2861		m_log << TestLog::Message << "glPointSize(" << size << ");" << TestLog::EndMessage;
2862	m_gl.pointSize(size);
2863}
2864
2865void CallLogWrapper::glPolygonMode (glw::GLenum face, glw::GLenum mode)
2866{
2867	if (m_enableLog)
2868		m_log << TestLog::Message << "glPolygonMode(" << toHex(face) << ", " << toHex(mode) << ");" << TestLog::EndMessage;
2869	m_gl.polygonMode(face, mode);
2870}
2871
2872void CallLogWrapper::glPolygonOffset (glw::GLfloat factor, glw::GLfloat units)
2873{
2874	if (m_enableLog)
2875		m_log << TestLog::Message << "glPolygonOffset(" << factor << ", " << units << ");" << TestLog::EndMessage;
2876	m_gl.polygonOffset(factor, units);
2877}
2878
2879void CallLogWrapper::glPopDebugGroup (void)
2880{
2881	if (m_enableLog)
2882		m_log << TestLog::Message << "glPopDebugGroup(" << ");" << TestLog::EndMessage;
2883	m_gl.popDebugGroup();
2884}
2885
2886void CallLogWrapper::glPopGroupMarkerEXT (void)
2887{
2888	if (m_enableLog)
2889		m_log << TestLog::Message << "glPopGroupMarkerEXT(" << ");" << TestLog::EndMessage;
2890	m_gl.popGroupMarkerEXT();
2891}
2892
2893void CallLogWrapper::glPrimitiveBoundingBoxEXT (glw::GLfloat minX, glw::GLfloat minY, glw::GLfloat minZ, glw::GLfloat minW, glw::GLfloat maxX, glw::GLfloat maxY, glw::GLfloat maxZ, glw::GLfloat maxW)
2894{
2895	if (m_enableLog)
2896		m_log << TestLog::Message << "glPrimitiveBoundingBoxEXT(" << minX << ", " << minY << ", " << minZ << ", " << minW << ", " << maxX << ", " << maxY << ", " << maxZ << ", " << maxW << ");" << TestLog::EndMessage;
2897	m_gl.primitiveBoundingBoxEXT(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW);
2898}
2899
2900void CallLogWrapper::glPrimitiveRestartIndex (glw::GLuint index)
2901{
2902	if (m_enableLog)
2903		m_log << TestLog::Message << "glPrimitiveRestartIndex(" << index << ");" << TestLog::EndMessage;
2904	m_gl.primitiveRestartIndex(index);
2905}
2906
2907void CallLogWrapper::glProgramBinary (glw::GLuint program, glw::GLenum binaryFormat, const void *binary, glw::GLsizei length)
2908{
2909	if (m_enableLog)
2910		m_log << TestLog::Message << "glProgramBinary(" << program << ", " << toHex(binaryFormat) << ", " << binary << ", " << length << ");" << TestLog::EndMessage;
2911	m_gl.programBinary(program, binaryFormat, binary, length);
2912}
2913
2914void CallLogWrapper::glProgramParameteri (glw::GLuint program, glw::GLenum pname, glw::GLint value)
2915{
2916	if (m_enableLog)
2917		m_log << TestLog::Message << "glProgramParameteri(" << program << ", " << getProgramParamStr(pname) << ", " << value << ");" << TestLog::EndMessage;
2918	m_gl.programParameteri(program, pname, value);
2919}
2920
2921void CallLogWrapper::glProgramUniform1d (glw::GLuint program, glw::GLint location, glw::GLdouble v0)
2922{
2923	if (m_enableLog)
2924		m_log << TestLog::Message << "glProgramUniform1d(" << program << ", " << location << ", " << v0 << ");" << TestLog::EndMessage;
2925	m_gl.programUniform1d(program, location, v0);
2926}
2927
2928void CallLogWrapper::glProgramUniform1dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
2929{
2930	if (m_enableLog)
2931		m_log << TestLog::Message << "glProgramUniform1dv(" << program << ", " << location << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
2932	m_gl.programUniform1dv(program, location, count, value);
2933}
2934
2935void CallLogWrapper::glProgramUniform1f (glw::GLuint program, glw::GLint location, glw::GLfloat v0)
2936{
2937	if (m_enableLog)
2938		m_log << TestLog::Message << "glProgramUniform1f(" << program << ", " << location << ", " << v0 << ");" << TestLog::EndMessage;
2939	m_gl.programUniform1f(program, location, v0);
2940}
2941
2942void CallLogWrapper::glProgramUniform1fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLfloat *value)
2943{
2944	if (m_enableLog)
2945		m_log << TestLog::Message << "glProgramUniform1fv(" << program << ", " << location << ", " << count << ", " << getPointerStr(value, (count * 1)) << ");" << TestLog::EndMessage;
2946	m_gl.programUniform1fv(program, location, count, value);
2947}
2948
2949void CallLogWrapper::glProgramUniform1i (glw::GLuint program, glw::GLint location, glw::GLint v0)
2950{
2951	if (m_enableLog)
2952		m_log << TestLog::Message << "glProgramUniform1i(" << program << ", " << location << ", " << v0 << ");" << TestLog::EndMessage;
2953	m_gl.programUniform1i(program, location, v0);
2954}
2955
2956void CallLogWrapper::glProgramUniform1iv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLint *value)
2957{
2958	if (m_enableLog)
2959		m_log << TestLog::Message << "glProgramUniform1iv(" << program << ", " << location << ", " << count << ", " << getPointerStr(value, (count * 1)) << ");" << TestLog::EndMessage;
2960	m_gl.programUniform1iv(program, location, count, value);
2961}
2962
2963void CallLogWrapper::glProgramUniform1ui (glw::GLuint program, glw::GLint location, glw::GLuint v0)
2964{
2965	if (m_enableLog)
2966		m_log << TestLog::Message << "glProgramUniform1ui(" << program << ", " << location << ", " << v0 << ");" << TestLog::EndMessage;
2967	m_gl.programUniform1ui(program, location, v0);
2968}
2969
2970void CallLogWrapper::glProgramUniform1uiv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLuint *value)
2971{
2972	if (m_enableLog)
2973		m_log << TestLog::Message << "glProgramUniform1uiv(" << program << ", " << location << ", " << count << ", " << getPointerStr(value, (count * 1)) << ");" << TestLog::EndMessage;
2974	m_gl.programUniform1uiv(program, location, count, value);
2975}
2976
2977void CallLogWrapper::glProgramUniform2d (glw::GLuint program, glw::GLint location, glw::GLdouble v0, glw::GLdouble v1)
2978{
2979	if (m_enableLog)
2980		m_log << TestLog::Message << "glProgramUniform2d(" << program << ", " << location << ", " << v0 << ", " << v1 << ");" << TestLog::EndMessage;
2981	m_gl.programUniform2d(program, location, v0, v1);
2982}
2983
2984void CallLogWrapper::glProgramUniform2dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
2985{
2986	if (m_enableLog)
2987		m_log << TestLog::Message << "glProgramUniform2dv(" << program << ", " << location << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
2988	m_gl.programUniform2dv(program, location, count, value);
2989}
2990
2991void CallLogWrapper::glProgramUniform2f (glw::GLuint program, glw::GLint location, glw::GLfloat v0, glw::GLfloat v1)
2992{
2993	if (m_enableLog)
2994		m_log << TestLog::Message << "glProgramUniform2f(" << program << ", " << location << ", " << v0 << ", " << v1 << ");" << TestLog::EndMessage;
2995	m_gl.programUniform2f(program, location, v0, v1);
2996}
2997
2998void CallLogWrapper::glProgramUniform2fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLfloat *value)
2999{
3000	if (m_enableLog)
3001		m_log << TestLog::Message << "glProgramUniform2fv(" << program << ", " << location << ", " << count << ", " << getPointerStr(value, (count * 2)) << ");" << TestLog::EndMessage;
3002	m_gl.programUniform2fv(program, location, count, value);
3003}
3004
3005void CallLogWrapper::glProgramUniform2i (glw::GLuint program, glw::GLint location, glw::GLint v0, glw::GLint v1)
3006{
3007	if (m_enableLog)
3008		m_log << TestLog::Message << "glProgramUniform2i(" << program << ", " << location << ", " << v0 << ", " << v1 << ");" << TestLog::EndMessage;
3009	m_gl.programUniform2i(program, location, v0, v1);
3010}
3011
3012void CallLogWrapper::glProgramUniform2iv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLint *value)
3013{
3014	if (m_enableLog)
3015		m_log << TestLog::Message << "glProgramUniform2iv(" << program << ", " << location << ", " << count << ", " << getPointerStr(value, (count * 2)) << ");" << TestLog::EndMessage;
3016	m_gl.programUniform2iv(program, location, count, value);
3017}
3018
3019void CallLogWrapper::glProgramUniform2ui (glw::GLuint program, glw::GLint location, glw::GLuint v0, glw::GLuint v1)
3020{
3021	if (m_enableLog)
3022		m_log << TestLog::Message << "glProgramUniform2ui(" << program << ", " << location << ", " << v0 << ", " << v1 << ");" << TestLog::EndMessage;
3023	m_gl.programUniform2ui(program, location, v0, v1);
3024}
3025
3026void CallLogWrapper::glProgramUniform2uiv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLuint *value)
3027{
3028	if (m_enableLog)
3029		m_log << TestLog::Message << "glProgramUniform2uiv(" << program << ", " << location << ", " << count << ", " << getPointerStr(value, (count * 2)) << ");" << TestLog::EndMessage;
3030	m_gl.programUniform2uiv(program, location, count, value);
3031}
3032
3033void CallLogWrapper::glProgramUniform3d (glw::GLuint program, glw::GLint location, glw::GLdouble v0, glw::GLdouble v1, glw::GLdouble v2)
3034{
3035	if (m_enableLog)
3036		m_log << TestLog::Message << "glProgramUniform3d(" << program << ", " << location << ", " << v0 << ", " << v1 << ", " << v2 << ");" << TestLog::EndMessage;
3037	m_gl.programUniform3d(program, location, v0, v1, v2);
3038}
3039
3040void CallLogWrapper::glProgramUniform3dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
3041{
3042	if (m_enableLog)
3043		m_log << TestLog::Message << "glProgramUniform3dv(" << program << ", " << location << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
3044	m_gl.programUniform3dv(program, location, count, value);
3045}
3046
3047void CallLogWrapper::glProgramUniform3f (glw::GLuint program, glw::GLint location, glw::GLfloat v0, glw::GLfloat v1, glw::GLfloat v2)
3048{
3049	if (m_enableLog)
3050		m_log << TestLog::Message << "glProgramUniform3f(" << program << ", " << location << ", " << v0 << ", " << v1 << ", " << v2 << ");" << TestLog::EndMessage;
3051	m_gl.programUniform3f(program, location, v0, v1, v2);
3052}
3053
3054void CallLogWrapper::glProgramUniform3fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLfloat *value)
3055{
3056	if (m_enableLog)
3057		m_log << TestLog::Message << "glProgramUniform3fv(" << program << ", " << location << ", " << count << ", " << getPointerStr(value, (count * 3)) << ");" << TestLog::EndMessage;
3058	m_gl.programUniform3fv(program, location, count, value);
3059}
3060
3061void CallLogWrapper::glProgramUniform3i (glw::GLuint program, glw::GLint location, glw::GLint v0, glw::GLint v1, glw::GLint v2)
3062{
3063	if (m_enableLog)
3064		m_log << TestLog::Message << "glProgramUniform3i(" << program << ", " << location << ", " << v0 << ", " << v1 << ", " << v2 << ");" << TestLog::EndMessage;
3065	m_gl.programUniform3i(program, location, v0, v1, v2);
3066}
3067
3068void CallLogWrapper::glProgramUniform3iv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLint *value)
3069{
3070	if (m_enableLog)
3071		m_log << TestLog::Message << "glProgramUniform3iv(" << program << ", " << location << ", " << count << ", " << getPointerStr(value, (count * 3)) << ");" << TestLog::EndMessage;
3072	m_gl.programUniform3iv(program, location, count, value);
3073}
3074
3075void CallLogWrapper::glProgramUniform3ui (glw::GLuint program, glw::GLint location, glw::GLuint v0, glw::GLuint v1, glw::GLuint v2)
3076{
3077	if (m_enableLog)
3078		m_log << TestLog::Message << "glProgramUniform3ui(" << program << ", " << location << ", " << v0 << ", " << v1 << ", " << v2 << ");" << TestLog::EndMessage;
3079	m_gl.programUniform3ui(program, location, v0, v1, v2);
3080}
3081
3082void CallLogWrapper::glProgramUniform3uiv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLuint *value)
3083{
3084	if (m_enableLog)
3085		m_log << TestLog::Message << "glProgramUniform3uiv(" << program << ", " << location << ", " << count << ", " << getPointerStr(value, (count * 3)) << ");" << TestLog::EndMessage;
3086	m_gl.programUniform3uiv(program, location, count, value);
3087}
3088
3089void CallLogWrapper::glProgramUniform4d (glw::GLuint program, glw::GLint location, glw::GLdouble v0, glw::GLdouble v1, glw::GLdouble v2, glw::GLdouble v3)
3090{
3091	if (m_enableLog)
3092		m_log << TestLog::Message << "glProgramUniform4d(" << program << ", " << location << ", " << v0 << ", " << v1 << ", " << v2 << ", " << v3 << ");" << TestLog::EndMessage;
3093	m_gl.programUniform4d(program, location, v0, v1, v2, v3);
3094}
3095
3096void CallLogWrapper::glProgramUniform4dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
3097{
3098	if (m_enableLog)
3099		m_log << TestLog::Message << "glProgramUniform4dv(" << program << ", " << location << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
3100	m_gl.programUniform4dv(program, location, count, value);
3101}
3102
3103void CallLogWrapper::glProgramUniform4f (glw::GLuint program, glw::GLint location, glw::GLfloat v0, glw::GLfloat v1, glw::GLfloat v2, glw::GLfloat v3)
3104{
3105	if (m_enableLog)
3106		m_log << TestLog::Message << "glProgramUniform4f(" << program << ", " << location << ", " << v0 << ", " << v1 << ", " << v2 << ", " << v3 << ");" << TestLog::EndMessage;
3107	m_gl.programUniform4f(program, location, v0, v1, v2, v3);
3108}
3109
3110void CallLogWrapper::glProgramUniform4fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLfloat *value)
3111{
3112	if (m_enableLog)
3113		m_log << TestLog::Message << "glProgramUniform4fv(" << program << ", " << location << ", " << count << ", " << getPointerStr(value, (count * 4)) << ");" << TestLog::EndMessage;
3114	m_gl.programUniform4fv(program, location, count, value);
3115}
3116
3117void CallLogWrapper::glProgramUniform4i (glw::GLuint program, glw::GLint location, glw::GLint v0, glw::GLint v1, glw::GLint v2, glw::GLint v3)
3118{
3119	if (m_enableLog)
3120		m_log << TestLog::Message << "glProgramUniform4i(" << program << ", " << location << ", " << v0 << ", " << v1 << ", " << v2 << ", " << v3 << ");" << TestLog::EndMessage;
3121	m_gl.programUniform4i(program, location, v0, v1, v2, v3);
3122}
3123
3124void CallLogWrapper::glProgramUniform4iv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLint *value)
3125{
3126	if (m_enableLog)
3127		m_log << TestLog::Message << "glProgramUniform4iv(" << program << ", " << location << ", " << count << ", " << getPointerStr(value, (count * 4)) << ");" << TestLog::EndMessage;
3128	m_gl.programUniform4iv(program, location, count, value);
3129}
3130
3131void CallLogWrapper::glProgramUniform4ui (glw::GLuint program, glw::GLint location, glw::GLuint v0, glw::GLuint v1, glw::GLuint v2, glw::GLuint v3)
3132{
3133	if (m_enableLog)
3134		m_log << TestLog::Message << "glProgramUniform4ui(" << program << ", " << location << ", " << v0 << ", " << v1 << ", " << v2 << ", " << v3 << ");" << TestLog::EndMessage;
3135	m_gl.programUniform4ui(program, location, v0, v1, v2, v3);
3136}
3137
3138void CallLogWrapper::glProgramUniform4uiv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLuint *value)
3139{
3140	if (m_enableLog)
3141		m_log << TestLog::Message << "glProgramUniform4uiv(" << program << ", " << location << ", " << count << ", " << getPointerStr(value, (count * 4)) << ");" << TestLog::EndMessage;
3142	m_gl.programUniform4uiv(program, location, count, value);
3143}
3144
3145void CallLogWrapper::glProgramUniformMatrix2dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
3146{
3147	if (m_enableLog)
3148		m_log << TestLog::Message << "glProgramUniformMatrix2dv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
3149	m_gl.programUniformMatrix2dv(program, location, count, transpose, value);
3150}
3151
3152void CallLogWrapper::glProgramUniformMatrix2fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
3153{
3154	if (m_enableLog)
3155		m_log << TestLog::Message << "glProgramUniformMatrix2fv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 2*2)) << ");" << TestLog::EndMessage;
3156	m_gl.programUniformMatrix2fv(program, location, count, transpose, value);
3157}
3158
3159void CallLogWrapper::glProgramUniformMatrix2x3dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
3160{
3161	if (m_enableLog)
3162		m_log << TestLog::Message << "glProgramUniformMatrix2x3dv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
3163	m_gl.programUniformMatrix2x3dv(program, location, count, transpose, value);
3164}
3165
3166void CallLogWrapper::glProgramUniformMatrix2x3fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
3167{
3168	if (m_enableLog)
3169		m_log << TestLog::Message << "glProgramUniformMatrix2x3fv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 2*3)) << ");" << TestLog::EndMessage;
3170	m_gl.programUniformMatrix2x3fv(program, location, count, transpose, value);
3171}
3172
3173void CallLogWrapper::glProgramUniformMatrix2x4dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
3174{
3175	if (m_enableLog)
3176		m_log << TestLog::Message << "glProgramUniformMatrix2x4dv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
3177	m_gl.programUniformMatrix2x4dv(program, location, count, transpose, value);
3178}
3179
3180void CallLogWrapper::glProgramUniformMatrix2x4fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
3181{
3182	if (m_enableLog)
3183		m_log << TestLog::Message << "glProgramUniformMatrix2x4fv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 2*4)) << ");" << TestLog::EndMessage;
3184	m_gl.programUniformMatrix2x4fv(program, location, count, transpose, value);
3185}
3186
3187void CallLogWrapper::glProgramUniformMatrix3dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
3188{
3189	if (m_enableLog)
3190		m_log << TestLog::Message << "glProgramUniformMatrix3dv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
3191	m_gl.programUniformMatrix3dv(program, location, count, transpose, value);
3192}
3193
3194void CallLogWrapper::glProgramUniformMatrix3fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
3195{
3196	if (m_enableLog)
3197		m_log << TestLog::Message << "glProgramUniformMatrix3fv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 3*3)) << ");" << TestLog::EndMessage;
3198	m_gl.programUniformMatrix3fv(program, location, count, transpose, value);
3199}
3200
3201void CallLogWrapper::glProgramUniformMatrix3x2dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
3202{
3203	if (m_enableLog)
3204		m_log << TestLog::Message << "glProgramUniformMatrix3x2dv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
3205	m_gl.programUniformMatrix3x2dv(program, location, count, transpose, value);
3206}
3207
3208void CallLogWrapper::glProgramUniformMatrix3x2fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
3209{
3210	if (m_enableLog)
3211		m_log << TestLog::Message << "glProgramUniformMatrix3x2fv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 3*2)) << ");" << TestLog::EndMessage;
3212	m_gl.programUniformMatrix3x2fv(program, location, count, transpose, value);
3213}
3214
3215void CallLogWrapper::glProgramUniformMatrix3x4dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
3216{
3217	if (m_enableLog)
3218		m_log << TestLog::Message << "glProgramUniformMatrix3x4dv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
3219	m_gl.programUniformMatrix3x4dv(program, location, count, transpose, value);
3220}
3221
3222void CallLogWrapper::glProgramUniformMatrix3x4fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
3223{
3224	if (m_enableLog)
3225		m_log << TestLog::Message << "glProgramUniformMatrix3x4fv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 3*4)) << ");" << TestLog::EndMessage;
3226	m_gl.programUniformMatrix3x4fv(program, location, count, transpose, value);
3227}
3228
3229void CallLogWrapper::glProgramUniformMatrix4dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
3230{
3231	if (m_enableLog)
3232		m_log << TestLog::Message << "glProgramUniformMatrix4dv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
3233	m_gl.programUniformMatrix4dv(program, location, count, transpose, value);
3234}
3235
3236void CallLogWrapper::glProgramUniformMatrix4fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
3237{
3238	if (m_enableLog)
3239		m_log << TestLog::Message << "glProgramUniformMatrix4fv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 4*4)) << ");" << TestLog::EndMessage;
3240	m_gl.programUniformMatrix4fv(program, location, count, transpose, value);
3241}
3242
3243void CallLogWrapper::glProgramUniformMatrix4x2dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
3244{
3245	if (m_enableLog)
3246		m_log << TestLog::Message << "glProgramUniformMatrix4x2dv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
3247	m_gl.programUniformMatrix4x2dv(program, location, count, transpose, value);
3248}
3249
3250void CallLogWrapper::glProgramUniformMatrix4x2fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
3251{
3252	if (m_enableLog)
3253		m_log << TestLog::Message << "glProgramUniformMatrix4x2fv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 4*2)) << ");" << TestLog::EndMessage;
3254	m_gl.programUniformMatrix4x2fv(program, location, count, transpose, value);
3255}
3256
3257void CallLogWrapper::glProgramUniformMatrix4x3dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
3258{
3259	if (m_enableLog)
3260		m_log << TestLog::Message << "glProgramUniformMatrix4x3dv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
3261	m_gl.programUniformMatrix4x3dv(program, location, count, transpose, value);
3262}
3263
3264void CallLogWrapper::glProgramUniformMatrix4x3fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
3265{
3266	if (m_enableLog)
3267		m_log << TestLog::Message << "glProgramUniformMatrix4x3fv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 4*3)) << ");" << TestLog::EndMessage;
3268	m_gl.programUniformMatrix4x3fv(program, location, count, transpose, value);
3269}
3270
3271void CallLogWrapper::glProvokingVertex (glw::GLenum mode)
3272{
3273	if (m_enableLog)
3274		m_log << TestLog::Message << "glProvokingVertex(" << getProvokingVertexStr(mode) << ");" << TestLog::EndMessage;
3275	m_gl.provokingVertex(mode);
3276}
3277
3278void CallLogWrapper::glPushDebugGroup (glw::GLenum source, glw::GLuint id, glw::GLsizei length, const glw::GLchar *message)
3279{
3280	if (m_enableLog)
3281		m_log << TestLog::Message << "glPushDebugGroup(" << getDebugMessageSourceStr(source) << ", " << id << ", " << length << ", " << getStringStr(message) << ");" << TestLog::EndMessage;
3282	m_gl.pushDebugGroup(source, id, length, message);
3283}
3284
3285void CallLogWrapper::glPushGroupMarkerEXT (glw::GLsizei length, const glw::GLchar *marker)
3286{
3287	if (m_enableLog)
3288		m_log << TestLog::Message << "glPushGroupMarkerEXT(" << length << ", " << getStringStr(marker) << ");" << TestLog::EndMessage;
3289	m_gl.pushGroupMarkerEXT(length, marker);
3290}
3291
3292void CallLogWrapper::glQueryCounter (glw::GLuint id, glw::GLenum target)
3293{
3294	if (m_enableLog)
3295		m_log << TestLog::Message << "glQueryCounter(" << id << ", " << toHex(target) << ");" << TestLog::EndMessage;
3296	m_gl.queryCounter(id, target);
3297}
3298
3299void CallLogWrapper::glReadBuffer (glw::GLenum src)
3300{
3301	if (m_enableLog)
3302		m_log << TestLog::Message << "glReadBuffer(" << getDrawReadBufferStr(src) << ");" << TestLog::EndMessage;
3303	m_gl.readBuffer(src);
3304}
3305
3306void CallLogWrapper::glReadPixels (glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height, glw::GLenum format, glw::GLenum type, void *pixels)
3307{
3308	if (m_enableLog)
3309		m_log << TestLog::Message << "glReadPixels(" << x << ", " << y << ", " << width << ", " << height << ", " << getPixelFormatStr(format) << ", " << getTypeStr(type) << ", " << pixels << ");" << TestLog::EndMessage;
3310	m_gl.readPixels(x, y, width, height, format, type, pixels);
3311}
3312
3313void CallLogWrapper::glReadnPixels (glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height, glw::GLenum format, glw::GLenum type, glw::GLsizei bufSize, void *data)
3314{
3315	if (m_enableLog)
3316		m_log << TestLog::Message << "glReadnPixels(" << x << ", " << y << ", " << width << ", " << height << ", " << toHex(format) << ", " << toHex(type) << ", " << bufSize << ", " << data << ");" << TestLog::EndMessage;
3317	m_gl.readnPixels(x, y, width, height, format, type, bufSize, data);
3318}
3319
3320void CallLogWrapper::glReleaseShaderCompiler (void)
3321{
3322	if (m_enableLog)
3323		m_log << TestLog::Message << "glReleaseShaderCompiler(" << ");" << TestLog::EndMessage;
3324	m_gl.releaseShaderCompiler();
3325}
3326
3327void CallLogWrapper::glRenderbufferStorage (glw::GLenum target, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height)
3328{
3329	if (m_enableLog)
3330		m_log << TestLog::Message << "glRenderbufferStorage(" << getFramebufferTargetStr(target) << ", " << getPixelFormatStr(internalformat) << ", " << width << ", " << height << ");" << TestLog::EndMessage;
3331	m_gl.renderbufferStorage(target, internalformat, width, height);
3332}
3333
3334void CallLogWrapper::glRenderbufferStorageMultisample (glw::GLenum target, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height)
3335{
3336	if (m_enableLog)
3337		m_log << TestLog::Message << "glRenderbufferStorageMultisample(" << getFramebufferTargetStr(target) << ", " << samples << ", " << getPixelFormatStr(internalformat) << ", " << width << ", " << height << ");" << TestLog::EndMessage;
3338	m_gl.renderbufferStorageMultisample(target, samples, internalformat, width, height);
3339}
3340
3341void CallLogWrapper::glResumeTransformFeedback (void)
3342{
3343	if (m_enableLog)
3344		m_log << TestLog::Message << "glResumeTransformFeedback(" << ");" << TestLog::EndMessage;
3345	m_gl.resumeTransformFeedback();
3346}
3347
3348void CallLogWrapper::glSampleCoverage (glw::GLfloat value, glw::GLboolean invert)
3349{
3350	if (m_enableLog)
3351		m_log << TestLog::Message << "glSampleCoverage(" << value << ", " << getBooleanStr(invert) << ");" << TestLog::EndMessage;
3352	m_gl.sampleCoverage(value, invert);
3353}
3354
3355void CallLogWrapper::glSampleMaski (glw::GLuint maskNumber, glw::GLbitfield mask)
3356{
3357	if (m_enableLog)
3358		m_log << TestLog::Message << "glSampleMaski(" << maskNumber << ", " << toHex(mask) << ");" << TestLog::EndMessage;
3359	m_gl.sampleMaski(maskNumber, mask);
3360}
3361
3362void CallLogWrapper::glSamplerParameterIiv (glw::GLuint sampler, glw::GLenum pname, const glw::GLint *param)
3363{
3364	if (m_enableLog)
3365		m_log << TestLog::Message << "glSamplerParameterIiv(" << sampler << ", " << getTextureParameterStr(pname) << ", " << getPointerStr(param, getTextureParamNumArgs(pname)) << ");" << TestLog::EndMessage;
3366	m_gl.samplerParameterIiv(sampler, pname, param);
3367}
3368
3369void CallLogWrapper::glSamplerParameterIuiv (glw::GLuint sampler, glw::GLenum pname, const glw::GLuint *param)
3370{
3371	if (m_enableLog)
3372		m_log << TestLog::Message << "glSamplerParameterIuiv(" << sampler << ", " << getTextureParameterStr(pname) << ", " << getPointerStr(param, getTextureParamNumArgs(pname)) << ");" << TestLog::EndMessage;
3373	m_gl.samplerParameterIuiv(sampler, pname, param);
3374}
3375
3376void CallLogWrapper::glSamplerParameterf (glw::GLuint sampler, glw::GLenum pname, glw::GLfloat param)
3377{
3378	if (m_enableLog)
3379		m_log << TestLog::Message << "glSamplerParameterf(" << sampler << ", " << getTextureParameterStr(pname) << ", " << param << ");" << TestLog::EndMessage;
3380	m_gl.samplerParameterf(sampler, pname, param);
3381}
3382
3383void CallLogWrapper::glSamplerParameterfv (glw::GLuint sampler, glw::GLenum pname, const glw::GLfloat *param)
3384{
3385	if (m_enableLog)
3386		m_log << TestLog::Message << "glSamplerParameterfv(" << sampler << ", " << getTextureParameterStr(pname) << ", " << getPointerStr(param, getTextureParamNumArgs(pname)) << ");" << TestLog::EndMessage;
3387	m_gl.samplerParameterfv(sampler, pname, param);
3388}
3389
3390void CallLogWrapper::glSamplerParameteri (glw::GLuint sampler, glw::GLenum pname, glw::GLint param)
3391{
3392	if (m_enableLog)
3393		m_log << TestLog::Message << "glSamplerParameteri(" << sampler << ", " << getTextureParameterStr(pname) << ", " << getTextureParameterValueStr(pname, param) << ");" << TestLog::EndMessage;
3394	m_gl.samplerParameteri(sampler, pname, param);
3395}
3396
3397void CallLogWrapper::glSamplerParameteriv (glw::GLuint sampler, glw::GLenum pname, const glw::GLint *param)
3398{
3399	if (m_enableLog)
3400		m_log << TestLog::Message << "glSamplerParameteriv(" << sampler << ", " << getTextureParameterStr(pname) << ", " << getPointerStr(param, getTextureParamNumArgs(pname)) << ");" << TestLog::EndMessage;
3401	m_gl.samplerParameteriv(sampler, pname, param);
3402}
3403
3404void CallLogWrapper::glScissor (glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height)
3405{
3406	if (m_enableLog)
3407		m_log << TestLog::Message << "glScissor(" << x << ", " << y << ", " << width << ", " << height << ");" << TestLog::EndMessage;
3408	m_gl.scissor(x, y, width, height);
3409}
3410
3411void CallLogWrapper::glScissorArrayv (glw::GLuint first, glw::GLsizei count, const glw::GLint *v)
3412{
3413	if (m_enableLog)
3414		m_log << TestLog::Message << "glScissorArrayv(" << first << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(v))) << ");" << TestLog::EndMessage;
3415	m_gl.scissorArrayv(first, count, v);
3416}
3417
3418void CallLogWrapper::glScissorIndexed (glw::GLuint index, glw::GLint left, glw::GLint bottom, glw::GLsizei width, glw::GLsizei height)
3419{
3420	if (m_enableLog)
3421		m_log << TestLog::Message << "glScissorIndexed(" << index << ", " << left << ", " << bottom << ", " << width << ", " << height << ");" << TestLog::EndMessage;
3422	m_gl.scissorIndexed(index, left, bottom, width, height);
3423}
3424
3425void CallLogWrapper::glScissorIndexedv (glw::GLuint index, const glw::GLint *v)
3426{
3427	if (m_enableLog)
3428		m_log << TestLog::Message << "glScissorIndexedv(" << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(v))) << ");" << TestLog::EndMessage;
3429	m_gl.scissorIndexedv(index, v);
3430}
3431
3432void CallLogWrapper::glShaderBinary (glw::GLsizei count, const glw::GLuint *shaders, glw::GLenum binaryformat, const void *binary, glw::GLsizei length)
3433{
3434	if (m_enableLog)
3435		m_log << TestLog::Message << "glShaderBinary(" << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(shaders))) << ", " << toHex(binaryformat) << ", " << binary << ", " << length << ");" << TestLog::EndMessage;
3436	m_gl.shaderBinary(count, shaders, binaryformat, binary, length);
3437}
3438
3439void CallLogWrapper::glShaderSource (glw::GLuint shader, glw::GLsizei count, const glw::GLchar *const*string, const glw::GLint *length)
3440{
3441	if (m_enableLog)
3442		m_log << TestLog::Message << "glShaderSource(" << shader << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(string))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(length))) << ");" << TestLog::EndMessage;
3443	m_gl.shaderSource(shader, count, string, length);
3444}
3445
3446void CallLogWrapper::glShaderStorageBlockBinding (glw::GLuint program, glw::GLuint storageBlockIndex, glw::GLuint storageBlockBinding)
3447{
3448	if (m_enableLog)
3449		m_log << TestLog::Message << "glShaderStorageBlockBinding(" << program << ", " << storageBlockIndex << ", " << storageBlockBinding << ");" << TestLog::EndMessage;
3450	m_gl.shaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding);
3451}
3452
3453void CallLogWrapper::glStencilFunc (glw::GLenum func, glw::GLint ref, glw::GLuint mask)
3454{
3455	if (m_enableLog)
3456		m_log << TestLog::Message << "glStencilFunc(" << getCompareFuncStr(func) << ", " << ref << ", " << mask << ");" << TestLog::EndMessage;
3457	m_gl.stencilFunc(func, ref, mask);
3458}
3459
3460void CallLogWrapper::glStencilFuncSeparate (glw::GLenum face, glw::GLenum func, glw::GLint ref, glw::GLuint mask)
3461{
3462	if (m_enableLog)
3463		m_log << TestLog::Message << "glStencilFuncSeparate(" << getFaceStr(face) << ", " << getCompareFuncStr(func) << ", " << ref << ", " << mask << ");" << TestLog::EndMessage;
3464	m_gl.stencilFuncSeparate(face, func, ref, mask);
3465}
3466
3467void CallLogWrapper::glStencilMask (glw::GLuint mask)
3468{
3469	if (m_enableLog)
3470		m_log << TestLog::Message << "glStencilMask(" << mask << ");" << TestLog::EndMessage;
3471	m_gl.stencilMask(mask);
3472}
3473
3474void CallLogWrapper::glStencilMaskSeparate (glw::GLenum face, glw::GLuint mask)
3475{
3476	if (m_enableLog)
3477		m_log << TestLog::Message << "glStencilMaskSeparate(" << getFaceStr(face) << ", " << mask << ");" << TestLog::EndMessage;
3478	m_gl.stencilMaskSeparate(face, mask);
3479}
3480
3481void CallLogWrapper::glStencilOp (glw::GLenum fail, glw::GLenum zfail, glw::GLenum zpass)
3482{
3483	if (m_enableLog)
3484		m_log << TestLog::Message << "glStencilOp(" << getStencilOpStr(fail) << ", " << getStencilOpStr(zfail) << ", " << getStencilOpStr(zpass) << ");" << TestLog::EndMessage;
3485	m_gl.stencilOp(fail, zfail, zpass);
3486}
3487
3488void CallLogWrapper::glStencilOpSeparate (glw::GLenum face, glw::GLenum sfail, glw::GLenum dpfail, glw::GLenum dppass)
3489{
3490	if (m_enableLog)
3491		m_log << TestLog::Message << "glStencilOpSeparate(" << getFaceStr(face) << ", " << getStencilOpStr(sfail) << ", " << getStencilOpStr(dpfail) << ", " << getStencilOpStr(dppass) << ");" << TestLog::EndMessage;
3492	m_gl.stencilOpSeparate(face, sfail, dpfail, dppass);
3493}
3494
3495void CallLogWrapper::glTexBuffer (glw::GLenum target, glw::GLenum internalformat, glw::GLuint buffer)
3496{
3497	if (m_enableLog)
3498		m_log << TestLog::Message << "glTexBuffer(" << getBufferTargetStr(target) << ", " << getPixelFormatStr(internalformat) << ", " << buffer << ");" << TestLog::EndMessage;
3499	m_gl.texBuffer(target, internalformat, buffer);
3500}
3501
3502void CallLogWrapper::glTexBufferRange (glw::GLenum target, glw::GLenum internalformat, glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size)
3503{
3504	if (m_enableLog)
3505		m_log << TestLog::Message << "glTexBufferRange(" << getBufferTargetStr(target) << ", " << getPixelFormatStr(internalformat) << ", " << buffer << ", " << offset << ", " << size << ");" << TestLog::EndMessage;
3506	m_gl.texBufferRange(target, internalformat, buffer, offset, size);
3507}
3508
3509void CallLogWrapper::glTexImage1D (glw::GLenum target, glw::GLint level, glw::GLint internalformat, glw::GLsizei width, glw::GLint border, glw::GLenum format, glw::GLenum type, const void *pixels)
3510{
3511	if (m_enableLog)
3512		m_log << TestLog::Message << "glTexImage1D(" << getTextureTargetStr(target) << ", " << level << ", " << getPixelFormatStr(internalformat) << ", " << width << ", " << border << ", " << getPixelFormatStr(format) << ", " << getTypeStr(type) << ", " << pixels << ");" << TestLog::EndMessage;
3513	m_gl.texImage1D(target, level, internalformat, width, border, format, type, pixels);
3514}
3515
3516void CallLogWrapper::glTexImage2D (glw::GLenum target, glw::GLint level, glw::GLint internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLint border, glw::GLenum format, glw::GLenum type, const void *pixels)
3517{
3518	if (m_enableLog)
3519		m_log << TestLog::Message << "glTexImage2D(" << getTextureTargetStr(target) << ", " << level << ", " << getPixelFormatStr(internalformat) << ", " << width << ", " << height << ", " << border << ", " << getPixelFormatStr(format) << ", " << getTypeStr(type) << ", " << pixels << ");" << TestLog::EndMessage;
3520	m_gl.texImage2D(target, level, internalformat, width, height, border, format, type, pixels);
3521}
3522
3523void CallLogWrapper::glTexImage2DMultisample (glw::GLenum target, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLboolean fixedsamplelocations)
3524{
3525	if (m_enableLog)
3526		m_log << TestLog::Message << "glTexImage2DMultisample(" << getTextureTargetStr(target) << ", " << samples << ", " << getPixelFormatStr(internalformat) << ", " << width << ", " << height << ", " << getBooleanStr(fixedsamplelocations) << ");" << TestLog::EndMessage;
3527	m_gl.texImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);
3528}
3529
3530void CallLogWrapper::glTexImage3D (glw::GLenum target, glw::GLint level, glw::GLint internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLint border, glw::GLenum format, glw::GLenum type, const void *pixels)
3531{
3532	if (m_enableLog)
3533		m_log << TestLog::Message << "glTexImage3D(" << getTextureTargetStr(target) << ", " << level << ", " << getPixelFormatStr(internalformat) << ", " << width << ", " << height << ", " << depth << ", " << border << ", " << getPixelFormatStr(format) << ", " << getTypeStr(type) << ", " << pixels << ");" << TestLog::EndMessage;
3534	m_gl.texImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels);
3535}
3536
3537void CallLogWrapper::glTexImage3DMultisample (glw::GLenum target, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLboolean fixedsamplelocations)
3538{
3539	if (m_enableLog)
3540		m_log << TestLog::Message << "glTexImage3DMultisample(" << toHex(target) << ", " << samples << ", " << toHex(internalformat) << ", " << width << ", " << height << ", " << depth << ", " << getBooleanStr(fixedsamplelocations) << ");" << TestLog::EndMessage;
3541	m_gl.texImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);
3542}
3543
3544void CallLogWrapper::glTexParameterIiv (glw::GLenum target, glw::GLenum pname, const glw::GLint *params)
3545{
3546	if (m_enableLog)
3547		m_log << TestLog::Message << "glTexParameterIiv(" << getTextureTargetStr(target) << ", " << getTextureParameterStr(pname) << ", " << getPointerStr(params, getTextureParamNumArgs(pname)) << ");" << TestLog::EndMessage;
3548	m_gl.texParameterIiv(target, pname, params);
3549}
3550
3551void CallLogWrapper::glTexParameterIuiv (glw::GLenum target, glw::GLenum pname, const glw::GLuint *params)
3552{
3553	if (m_enableLog)
3554		m_log << TestLog::Message << "glTexParameterIuiv(" << getTextureTargetStr(target) << ", " << getTextureParameterStr(pname) << ", " << getPointerStr(params, getTextureParamNumArgs(pname)) << ");" << TestLog::EndMessage;
3555	m_gl.texParameterIuiv(target, pname, params);
3556}
3557
3558void CallLogWrapper::glTexParameterf (glw::GLenum target, glw::GLenum pname, glw::GLfloat param)
3559{
3560	if (m_enableLog)
3561		m_log << TestLog::Message << "glTexParameterf(" << getTextureTargetStr(target) << ", " << getTextureParameterStr(pname) << ", " << param << ");" << TestLog::EndMessage;
3562	m_gl.texParameterf(target, pname, param);
3563}
3564
3565void CallLogWrapper::glTexParameterfv (glw::GLenum target, glw::GLenum pname, const glw::GLfloat *params)
3566{
3567	if (m_enableLog)
3568		m_log << TestLog::Message << "glTexParameterfv(" << getTextureTargetStr(target) << ", " << getTextureParameterStr(pname) << ", " << getPointerStr(params, getTextureParamNumArgs(pname)) << ");" << TestLog::EndMessage;
3569	m_gl.texParameterfv(target, pname, params);
3570}
3571
3572void CallLogWrapper::glTexParameteri (glw::GLenum target, glw::GLenum pname, glw::GLint param)
3573{
3574	if (m_enableLog)
3575		m_log << TestLog::Message << "glTexParameteri(" << getTextureTargetStr(target) << ", " << getTextureParameterStr(pname) << ", " << getTextureParameterValueStr(pname, param) << ");" << TestLog::EndMessage;
3576	m_gl.texParameteri(target, pname, param);
3577}
3578
3579void CallLogWrapper::glTexParameteriv (glw::GLenum target, glw::GLenum pname, const glw::GLint *params)
3580{
3581	if (m_enableLog)
3582		m_log << TestLog::Message << "glTexParameteriv(" << getTextureTargetStr(target) << ", " << getTextureParameterStr(pname) << ", " << getPointerStr(params, getTextureParamNumArgs(pname)) << ");" << TestLog::EndMessage;
3583	m_gl.texParameteriv(target, pname, params);
3584}
3585
3586void CallLogWrapper::glTexStorage1D (glw::GLenum target, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width)
3587{
3588	if (m_enableLog)
3589		m_log << TestLog::Message << "glTexStorage1D(" << toHex(target) << ", " << levels << ", " << toHex(internalformat) << ", " << width << ");" << TestLog::EndMessage;
3590	m_gl.texStorage1D(target, levels, internalformat, width);
3591}
3592
3593void CallLogWrapper::glTexStorage2D (glw::GLenum target, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height)
3594{
3595	if (m_enableLog)
3596		m_log << TestLog::Message << "glTexStorage2D(" << getTextureTargetStr(target) << ", " << levels << ", " << getPixelFormatStr(internalformat) << ", " << width << ", " << height << ");" << TestLog::EndMessage;
3597	m_gl.texStorage2D(target, levels, internalformat, width, height);
3598}
3599
3600void CallLogWrapper::glTexStorage2DMultisample (glw::GLenum target, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLboolean fixedsamplelocations)
3601{
3602	if (m_enableLog)
3603		m_log << TestLog::Message << "glTexStorage2DMultisample(" << getTextureTargetStr(target) << ", " << samples << ", " << getPixelFormatStr(internalformat) << ", " << width << ", " << height << ", " << getBooleanStr(fixedsamplelocations) << ");" << TestLog::EndMessage;
3604	m_gl.texStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);
3605}
3606
3607void CallLogWrapper::glTexStorage3D (glw::GLenum target, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth)
3608{
3609	if (m_enableLog)
3610		m_log << TestLog::Message << "glTexStorage3D(" << getTextureTargetStr(target) << ", " << levels << ", " << getPixelFormatStr(internalformat) << ", " << width << ", " << height << ", " << depth << ");" << TestLog::EndMessage;
3611	m_gl.texStorage3D(target, levels, internalformat, width, height, depth);
3612}
3613
3614void CallLogWrapper::glTexStorage3DMultisample (glw::GLenum target, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLboolean fixedsamplelocations)
3615{
3616	if (m_enableLog)
3617		m_log << TestLog::Message << "glTexStorage3DMultisample(" << getTextureTargetStr(target) << ", " << samples << ", " << getPixelFormatStr(internalformat) << ", " << width << ", " << height << ", " << depth << ", " << getBooleanStr(fixedsamplelocations) << ");" << TestLog::EndMessage;
3618	m_gl.texStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);
3619}
3620
3621void CallLogWrapper::glTexSubImage1D (glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLsizei width, glw::GLenum format, glw::GLenum type, const void *pixels)
3622{
3623	if (m_enableLog)
3624		m_log << TestLog::Message << "glTexSubImage1D(" << getTextureTargetStr(target) << ", " << level << ", " << xoffset << ", " << width << ", " << getPixelFormatStr(format) << ", " << getTypeStr(type) << ", " << pixels << ");" << TestLog::EndMessage;
3625	m_gl.texSubImage1D(target, level, xoffset, width, format, type, pixels);
3626}
3627
3628void CallLogWrapper::glTexSubImage2D (glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLsizei width, glw::GLsizei height, glw::GLenum format, glw::GLenum type, const void *pixels)
3629{
3630	if (m_enableLog)
3631		m_log << TestLog::Message << "glTexSubImage2D(" << getTextureTargetStr(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << width << ", " << height << ", " << getPixelFormatStr(format) << ", " << getTypeStr(type) << ", " << pixels << ");" << TestLog::EndMessage;
3632	m_gl.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
3633}
3634
3635void CallLogWrapper::glTexSubImage3D (glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLenum format, glw::GLenum type, const void *pixels)
3636{
3637	if (m_enableLog)
3638		m_log << TestLog::Message << "glTexSubImage3D(" << getTextureTargetStr(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ", " << getPixelFormatStr(format) << ", " << getTypeStr(type) << ", " << pixels << ");" << TestLog::EndMessage;
3639	m_gl.texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
3640}
3641
3642void CallLogWrapper::glTextureBarrier (void)
3643{
3644	if (m_enableLog)
3645		m_log << TestLog::Message << "glTextureBarrier(" << ");" << TestLog::EndMessage;
3646	m_gl.textureBarrier();
3647}
3648
3649void CallLogWrapper::glTextureBuffer (glw::GLuint texture, glw::GLenum internalformat, glw::GLuint buffer)
3650{
3651	if (m_enableLog)
3652		m_log << TestLog::Message << "glTextureBuffer(" << texture << ", " << toHex(internalformat) << ", " << buffer << ");" << TestLog::EndMessage;
3653	m_gl.textureBuffer(texture, internalformat, buffer);
3654}
3655
3656void CallLogWrapper::glTextureBufferRange (glw::GLuint texture, glw::GLenum internalformat, glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size)
3657{
3658	if (m_enableLog)
3659		m_log << TestLog::Message << "glTextureBufferRange(" << texture << ", " << toHex(internalformat) << ", " << buffer << ", " << offset << ", " << size << ");" << TestLog::EndMessage;
3660	m_gl.textureBufferRange(texture, internalformat, buffer, offset, size);
3661}
3662
3663void CallLogWrapper::glTextureParameterIiv (glw::GLuint texture, glw::GLenum pname, const glw::GLint *params)
3664{
3665	if (m_enableLog)
3666		m_log << TestLog::Message << "glTextureParameterIiv(" << texture << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
3667	m_gl.textureParameterIiv(texture, pname, params);
3668}
3669
3670void CallLogWrapper::glTextureParameterIuiv (glw::GLuint texture, glw::GLenum pname, const glw::GLuint *params)
3671{
3672	if (m_enableLog)
3673		m_log << TestLog::Message << "glTextureParameterIuiv(" << texture << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
3674	m_gl.textureParameterIuiv(texture, pname, params);
3675}
3676
3677void CallLogWrapper::glTextureParameterf (glw::GLuint texture, glw::GLenum pname, glw::GLfloat param)
3678{
3679	if (m_enableLog)
3680		m_log << TestLog::Message << "glTextureParameterf(" << texture << ", " << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
3681	m_gl.textureParameterf(texture, pname, param);
3682}
3683
3684void CallLogWrapper::glTextureParameterfv (glw::GLuint texture, glw::GLenum pname, const glw::GLfloat *param)
3685{
3686	if (m_enableLog)
3687		m_log << TestLog::Message << "glTextureParameterfv(" << texture << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(param))) << ");" << TestLog::EndMessage;
3688	m_gl.textureParameterfv(texture, pname, param);
3689}
3690
3691void CallLogWrapper::glTextureParameteri (glw::GLuint texture, glw::GLenum pname, glw::GLint param)
3692{
3693	if (m_enableLog)
3694		m_log << TestLog::Message << "glTextureParameteri(" << texture << ", " << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
3695	m_gl.textureParameteri(texture, pname, param);
3696}
3697
3698void CallLogWrapper::glTextureParameteriv (glw::GLuint texture, glw::GLenum pname, const glw::GLint *param)
3699{
3700	if (m_enableLog)
3701		m_log << TestLog::Message << "glTextureParameteriv(" << texture << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(param))) << ");" << TestLog::EndMessage;
3702	m_gl.textureParameteriv(texture, pname, param);
3703}
3704
3705void CallLogWrapper::glTextureStorage1D (glw::GLuint texture, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width)
3706{
3707	if (m_enableLog)
3708		m_log << TestLog::Message << "glTextureStorage1D(" << texture << ", " << levels << ", " << toHex(internalformat) << ", " << width << ");" << TestLog::EndMessage;
3709	m_gl.textureStorage1D(texture, levels, internalformat, width);
3710}
3711
3712void CallLogWrapper::glTextureStorage2D (glw::GLuint texture, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height)
3713{
3714	if (m_enableLog)
3715		m_log << TestLog::Message << "glTextureStorage2D(" << texture << ", " << levels << ", " << toHex(internalformat) << ", " << width << ", " << height << ");" << TestLog::EndMessage;
3716	m_gl.textureStorage2D(texture, levels, internalformat, width, height);
3717}
3718
3719void CallLogWrapper::glTextureStorage2DMultisample (glw::GLuint texture, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLboolean fixedsamplelocations)
3720{
3721	if (m_enableLog)
3722		m_log << TestLog::Message << "glTextureStorage2DMultisample(" << texture << ", " << samples << ", " << toHex(internalformat) << ", " << width << ", " << height << ", " << getBooleanStr(fixedsamplelocations) << ");" << TestLog::EndMessage;
3723	m_gl.textureStorage2DMultisample(texture, samples, internalformat, width, height, fixedsamplelocations);
3724}
3725
3726void CallLogWrapper::glTextureStorage3D (glw::GLuint texture, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth)
3727{
3728	if (m_enableLog)
3729		m_log << TestLog::Message << "glTextureStorage3D(" << texture << ", " << levels << ", " << toHex(internalformat) << ", " << width << ", " << height << ", " << depth << ");" << TestLog::EndMessage;
3730	m_gl.textureStorage3D(texture, levels, internalformat, width, height, depth);
3731}
3732
3733void CallLogWrapper::glTextureStorage3DMultisample (glw::GLuint texture, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLboolean fixedsamplelocations)
3734{
3735	if (m_enableLog)
3736		m_log << TestLog::Message << "glTextureStorage3DMultisample(" << texture << ", " << samples << ", " << toHex(internalformat) << ", " << width << ", " << height << ", " << depth << ", " << getBooleanStr(fixedsamplelocations) << ");" << TestLog::EndMessage;
3737	m_gl.textureStorage3DMultisample(texture, samples, internalformat, width, height, depth, fixedsamplelocations);
3738}
3739
3740void CallLogWrapper::glTextureSubImage1D (glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLsizei width, glw::GLenum format, glw::GLenum type, const void *pixels)
3741{
3742	if (m_enableLog)
3743		m_log << TestLog::Message << "glTextureSubImage1D(" << texture << ", " << level << ", " << xoffset << ", " << width << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
3744	m_gl.textureSubImage1D(texture, level, xoffset, width, format, type, pixels);
3745}
3746
3747void CallLogWrapper::glTextureSubImage2D (glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLsizei width, glw::GLsizei height, glw::GLenum format, glw::GLenum type, const void *pixels)
3748{
3749	if (m_enableLog)
3750		m_log << TestLog::Message << "glTextureSubImage2D(" << texture << ", " << level << ", " << xoffset << ", " << yoffset << ", " << width << ", " << height << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
3751	m_gl.textureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, pixels);
3752}
3753
3754void CallLogWrapper::glTextureSubImage3D (glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint zoffset, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLenum format, glw::GLenum type, const void *pixels)
3755{
3756	if (m_enableLog)
3757		m_log << TestLog::Message << "glTextureSubImage3D(" << texture << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
3758	m_gl.textureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
3759}
3760
3761void CallLogWrapper::glTextureView (glw::GLuint texture, glw::GLenum target, glw::GLuint origtexture, glw::GLenum internalformat, glw::GLuint minlevel, glw::GLuint numlevels, glw::GLuint minlayer, glw::GLuint numlayers)
3762{
3763	if (m_enableLog)
3764		m_log << TestLog::Message << "glTextureView(" << texture << ", " << toHex(target) << ", " << origtexture << ", " << toHex(internalformat) << ", " << minlevel << ", " << numlevels << ", " << minlayer << ", " << numlayers << ");" << TestLog::EndMessage;
3765	m_gl.textureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers);
3766}
3767
3768void CallLogWrapper::glTransformFeedbackBufferBase (glw::GLuint xfb, glw::GLuint index, glw::GLuint buffer)
3769{
3770	if (m_enableLog)
3771		m_log << TestLog::Message << "glTransformFeedbackBufferBase(" << xfb << ", " << index << ", " << buffer << ");" << TestLog::EndMessage;
3772	m_gl.transformFeedbackBufferBase(xfb, index, buffer);
3773}
3774
3775void CallLogWrapper::glTransformFeedbackBufferRange (glw::GLuint xfb, glw::GLuint index, glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size)
3776{
3777	if (m_enableLog)
3778		m_log << TestLog::Message << "glTransformFeedbackBufferRange(" << xfb << ", " << index << ", " << buffer << ", " << offset << ", " << size << ");" << TestLog::EndMessage;
3779	m_gl.transformFeedbackBufferRange(xfb, index, buffer, offset, size);
3780}
3781
3782void CallLogWrapper::glTransformFeedbackVaryings (glw::GLuint program, glw::GLsizei count, const glw::GLchar *const*varyings, glw::GLenum bufferMode)
3783{
3784	if (m_enableLog)
3785		m_log << TestLog::Message << "glTransformFeedbackVaryings(" << program << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(varyings))) << ", " << toHex(bufferMode) << ");" << TestLog::EndMessage;
3786	m_gl.transformFeedbackVaryings(program, count, varyings, bufferMode);
3787}
3788
3789void CallLogWrapper::glUniform1d (glw::GLint location, glw::GLdouble x)
3790{
3791	if (m_enableLog)
3792		m_log << TestLog::Message << "glUniform1d(" << location << ", " << x << ");" << TestLog::EndMessage;
3793	m_gl.uniform1d(location, x);
3794}
3795
3796void CallLogWrapper::glUniform1dv (glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
3797{
3798	if (m_enableLog)
3799		m_log << TestLog::Message << "glUniform1dv(" << location << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
3800	m_gl.uniform1dv(location, count, value);
3801}
3802
3803void CallLogWrapper::glUniform1f (glw::GLint location, glw::GLfloat v0)
3804{
3805	if (m_enableLog)
3806		m_log << TestLog::Message << "glUniform1f(" << location << ", " << v0 << ");" << TestLog::EndMessage;
3807	m_gl.uniform1f(location, v0);
3808}
3809
3810void CallLogWrapper::glUniform1fv (glw::GLint location, glw::GLsizei count, const glw::GLfloat *value)
3811{
3812	if (m_enableLog)
3813		m_log << TestLog::Message << "glUniform1fv(" << location << ", " << count << ", " << getPointerStr(value, (count * 1)) << ");" << TestLog::EndMessage;
3814	m_gl.uniform1fv(location, count, value);
3815}
3816
3817void CallLogWrapper::glUniform1i (glw::GLint location, glw::GLint v0)
3818{
3819	if (m_enableLog)
3820		m_log << TestLog::Message << "glUniform1i(" << location << ", " << v0 << ");" << TestLog::EndMessage;
3821	m_gl.uniform1i(location, v0);
3822}
3823
3824void CallLogWrapper::glUniform1iv (glw::GLint location, glw::GLsizei count, const glw::GLint *value)
3825{
3826	if (m_enableLog)
3827		m_log << TestLog::Message << "glUniform1iv(" << location << ", " << count << ", " << getPointerStr(value, (count * 1)) << ");" << TestLog::EndMessage;
3828	m_gl.uniform1iv(location, count, value);
3829}
3830
3831void CallLogWrapper::glUniform1ui (glw::GLint location, glw::GLuint v0)
3832{
3833	if (m_enableLog)
3834		m_log << TestLog::Message << "glUniform1ui(" << location << ", " << v0 << ");" << TestLog::EndMessage;
3835	m_gl.uniform1ui(location, v0);
3836}
3837
3838void CallLogWrapper::glUniform1uiv (glw::GLint location, glw::GLsizei count, const glw::GLuint *value)
3839{
3840	if (m_enableLog)
3841		m_log << TestLog::Message << "glUniform1uiv(" << location << ", " << count << ", " << getPointerStr(value, (count * 1)) << ");" << TestLog::EndMessage;
3842	m_gl.uniform1uiv(location, count, value);
3843}
3844
3845void CallLogWrapper::glUniform2d (glw::GLint location, glw::GLdouble x, glw::GLdouble y)
3846{
3847	if (m_enableLog)
3848		m_log << TestLog::Message << "glUniform2d(" << location << ", " << x << ", " << y << ");" << TestLog::EndMessage;
3849	m_gl.uniform2d(location, x, y);
3850}
3851
3852void CallLogWrapper::glUniform2dv (glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
3853{
3854	if (m_enableLog)
3855		m_log << TestLog::Message << "glUniform2dv(" << location << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
3856	m_gl.uniform2dv(location, count, value);
3857}
3858
3859void CallLogWrapper::glUniform2f (glw::GLint location, glw::GLfloat v0, glw::GLfloat v1)
3860{
3861	if (m_enableLog)
3862		m_log << TestLog::Message << "glUniform2f(" << location << ", " << v0 << ", " << v1 << ");" << TestLog::EndMessage;
3863	m_gl.uniform2f(location, v0, v1);
3864}
3865
3866void CallLogWrapper::glUniform2fv (glw::GLint location, glw::GLsizei count, const glw::GLfloat *value)
3867{
3868	if (m_enableLog)
3869		m_log << TestLog::Message << "glUniform2fv(" << location << ", " << count << ", " << getPointerStr(value, (count * 2)) << ");" << TestLog::EndMessage;
3870	m_gl.uniform2fv(location, count, value);
3871}
3872
3873void CallLogWrapper::glUniform2i (glw::GLint location, glw::GLint v0, glw::GLint v1)
3874{
3875	if (m_enableLog)
3876		m_log << TestLog::Message << "glUniform2i(" << location << ", " << v0 << ", " << v1 << ");" << TestLog::EndMessage;
3877	m_gl.uniform2i(location, v0, v1);
3878}
3879
3880void CallLogWrapper::glUniform2iv (glw::GLint location, glw::GLsizei count, const glw::GLint *value)
3881{
3882	if (m_enableLog)
3883		m_log << TestLog::Message << "glUniform2iv(" << location << ", " << count << ", " << getPointerStr(value, (count * 2)) << ");" << TestLog::EndMessage;
3884	m_gl.uniform2iv(location, count, value);
3885}
3886
3887void CallLogWrapper::glUniform2ui (glw::GLint location, glw::GLuint v0, glw::GLuint v1)
3888{
3889	if (m_enableLog)
3890		m_log << TestLog::Message << "glUniform2ui(" << location << ", " << v0 << ", " << v1 << ");" << TestLog::EndMessage;
3891	m_gl.uniform2ui(location, v0, v1);
3892}
3893
3894void CallLogWrapper::glUniform2uiv (glw::GLint location, glw::GLsizei count, const glw::GLuint *value)
3895{
3896	if (m_enableLog)
3897		m_log << TestLog::Message << "glUniform2uiv(" << location << ", " << count << ", " << getPointerStr(value, (count * 2)) << ");" << TestLog::EndMessage;
3898	m_gl.uniform2uiv(location, count, value);
3899}
3900
3901void CallLogWrapper::glUniform3d (glw::GLint location, glw::GLdouble x, glw::GLdouble y, glw::GLdouble z)
3902{
3903	if (m_enableLog)
3904		m_log << TestLog::Message << "glUniform3d(" << location << ", " << x << ", " << y << ", " << z << ");" << TestLog::EndMessage;
3905	m_gl.uniform3d(location, x, y, z);
3906}
3907
3908void CallLogWrapper::glUniform3dv (glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
3909{
3910	if (m_enableLog)
3911		m_log << TestLog::Message << "glUniform3dv(" << location << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
3912	m_gl.uniform3dv(location, count, value);
3913}
3914
3915void CallLogWrapper::glUniform3f (glw::GLint location, glw::GLfloat v0, glw::GLfloat v1, glw::GLfloat v2)
3916{
3917	if (m_enableLog)
3918		m_log << TestLog::Message << "glUniform3f(" << location << ", " << v0 << ", " << v1 << ", " << v2 << ");" << TestLog::EndMessage;
3919	m_gl.uniform3f(location, v0, v1, v2);
3920}
3921
3922void CallLogWrapper::glUniform3fv (glw::GLint location, glw::GLsizei count, const glw::GLfloat *value)
3923{
3924	if (m_enableLog)
3925		m_log << TestLog::Message << "glUniform3fv(" << location << ", " << count << ", " << getPointerStr(value, (count * 3)) << ");" << TestLog::EndMessage;
3926	m_gl.uniform3fv(location, count, value);
3927}
3928
3929void CallLogWrapper::glUniform3i (glw::GLint location, glw::GLint v0, glw::GLint v1, glw::GLint v2)
3930{
3931	if (m_enableLog)
3932		m_log << TestLog::Message << "glUniform3i(" << location << ", " << v0 << ", " << v1 << ", " << v2 << ");" << TestLog::EndMessage;
3933	m_gl.uniform3i(location, v0, v1, v2);
3934}
3935
3936void CallLogWrapper::glUniform3iv (glw::GLint location, glw::GLsizei count, const glw::GLint *value)
3937{
3938	if (m_enableLog)
3939		m_log << TestLog::Message << "glUniform3iv(" << location << ", " << count << ", " << getPointerStr(value, (count * 3)) << ");" << TestLog::EndMessage;
3940	m_gl.uniform3iv(location, count, value);
3941}
3942
3943void CallLogWrapper::glUniform3ui (glw::GLint location, glw::GLuint v0, glw::GLuint v1, glw::GLuint v2)
3944{
3945	if (m_enableLog)
3946		m_log << TestLog::Message << "glUniform3ui(" << location << ", " << v0 << ", " << v1 << ", " << v2 << ");" << TestLog::EndMessage;
3947	m_gl.uniform3ui(location, v0, v1, v2);
3948}
3949
3950void CallLogWrapper::glUniform3uiv (glw::GLint location, glw::GLsizei count, const glw::GLuint *value)
3951{
3952	if (m_enableLog)
3953		m_log << TestLog::Message << "glUniform3uiv(" << location << ", " << count << ", " << getPointerStr(value, (count * 3)) << ");" << TestLog::EndMessage;
3954	m_gl.uniform3uiv(location, count, value);
3955}
3956
3957void CallLogWrapper::glUniform4d (glw::GLint location, glw::GLdouble x, glw::GLdouble y, glw::GLdouble z, glw::GLdouble w)
3958{
3959	if (m_enableLog)
3960		m_log << TestLog::Message << "glUniform4d(" << location << ", " << x << ", " << y << ", " << z << ", " << w << ");" << TestLog::EndMessage;
3961	m_gl.uniform4d(location, x, y, z, w);
3962}
3963
3964void CallLogWrapper::glUniform4dv (glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
3965{
3966	if (m_enableLog)
3967		m_log << TestLog::Message << "glUniform4dv(" << location << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
3968	m_gl.uniform4dv(location, count, value);
3969}
3970
3971void CallLogWrapper::glUniform4f (glw::GLint location, glw::GLfloat v0, glw::GLfloat v1, glw::GLfloat v2, glw::GLfloat v3)
3972{
3973	if (m_enableLog)
3974		m_log << TestLog::Message << "glUniform4f(" << location << ", " << v0 << ", " << v1 << ", " << v2 << ", " << v3 << ");" << TestLog::EndMessage;
3975	m_gl.uniform4f(location, v0, v1, v2, v3);
3976}
3977
3978void CallLogWrapper::glUniform4fv (glw::GLint location, glw::GLsizei count, const glw::GLfloat *value)
3979{
3980	if (m_enableLog)
3981		m_log << TestLog::Message << "glUniform4fv(" << location << ", " << count << ", " << getPointerStr(value, (count * 4)) << ");" << TestLog::EndMessage;
3982	m_gl.uniform4fv(location, count, value);
3983}
3984
3985void CallLogWrapper::glUniform4i (glw::GLint location, glw::GLint v0, glw::GLint v1, glw::GLint v2, glw::GLint v3)
3986{
3987	if (m_enableLog)
3988		m_log << TestLog::Message << "glUniform4i(" << location << ", " << v0 << ", " << v1 << ", " << v2 << ", " << v3 << ");" << TestLog::EndMessage;
3989	m_gl.uniform4i(location, v0, v1, v2, v3);
3990}
3991
3992void CallLogWrapper::glUniform4iv (glw::GLint location, glw::GLsizei count, const glw::GLint *value)
3993{
3994	if (m_enableLog)
3995		m_log << TestLog::Message << "glUniform4iv(" << location << ", " << count << ", " << getPointerStr(value, (count * 4)) << ");" << TestLog::EndMessage;
3996	m_gl.uniform4iv(location, count, value);
3997}
3998
3999void CallLogWrapper::glUniform4ui (glw::GLint location, glw::GLuint v0, glw::GLuint v1, glw::GLuint v2, glw::GLuint v3)
4000{
4001	if (m_enableLog)
4002		m_log << TestLog::Message << "glUniform4ui(" << location << ", " << v0 << ", " << v1 << ", " << v2 << ", " << v3 << ");" << TestLog::EndMessage;
4003	m_gl.uniform4ui(location, v0, v1, v2, v3);
4004}
4005
4006void CallLogWrapper::glUniform4uiv (glw::GLint location, glw::GLsizei count, const glw::GLuint *value)
4007{
4008	if (m_enableLog)
4009		m_log << TestLog::Message << "glUniform4uiv(" << location << ", " << count << ", " << getPointerStr(value, (count * 4)) << ");" << TestLog::EndMessage;
4010	m_gl.uniform4uiv(location, count, value);
4011}
4012
4013void CallLogWrapper::glUniformBlockBinding (glw::GLuint program, glw::GLuint uniformBlockIndex, glw::GLuint uniformBlockBinding)
4014{
4015	if (m_enableLog)
4016		m_log << TestLog::Message << "glUniformBlockBinding(" << program << ", " << uniformBlockIndex << ", " << uniformBlockBinding << ");" << TestLog::EndMessage;
4017	m_gl.uniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);
4018}
4019
4020void CallLogWrapper::glUniformMatrix2dv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
4021{
4022	if (m_enableLog)
4023		m_log << TestLog::Message << "glUniformMatrix2dv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
4024	m_gl.uniformMatrix2dv(location, count, transpose, value);
4025}
4026
4027void CallLogWrapper::glUniformMatrix2fv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
4028{
4029	if (m_enableLog)
4030		m_log << TestLog::Message << "glUniformMatrix2fv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 2*2)) << ");" << TestLog::EndMessage;
4031	m_gl.uniformMatrix2fv(location, count, transpose, value);
4032}
4033
4034void CallLogWrapper::glUniformMatrix2x3dv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
4035{
4036	if (m_enableLog)
4037		m_log << TestLog::Message << "glUniformMatrix2x3dv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
4038	m_gl.uniformMatrix2x3dv(location, count, transpose, value);
4039}
4040
4041void CallLogWrapper::glUniformMatrix2x3fv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
4042{
4043	if (m_enableLog)
4044		m_log << TestLog::Message << "glUniformMatrix2x3fv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 2*3)) << ");" << TestLog::EndMessage;
4045	m_gl.uniformMatrix2x3fv(location, count, transpose, value);
4046}
4047
4048void CallLogWrapper::glUniformMatrix2x4dv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
4049{
4050	if (m_enableLog)
4051		m_log << TestLog::Message << "glUniformMatrix2x4dv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
4052	m_gl.uniformMatrix2x4dv(location, count, transpose, value);
4053}
4054
4055void CallLogWrapper::glUniformMatrix2x4fv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
4056{
4057	if (m_enableLog)
4058		m_log << TestLog::Message << "glUniformMatrix2x4fv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 2*4)) << ");" << TestLog::EndMessage;
4059	m_gl.uniformMatrix2x4fv(location, count, transpose, value);
4060}
4061
4062void CallLogWrapper::glUniformMatrix3dv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
4063{
4064	if (m_enableLog)
4065		m_log << TestLog::Message << "glUniformMatrix3dv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
4066	m_gl.uniformMatrix3dv(location, count, transpose, value);
4067}
4068
4069void CallLogWrapper::glUniformMatrix3fv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
4070{
4071	if (m_enableLog)
4072		m_log << TestLog::Message << "glUniformMatrix3fv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 3*3)) << ");" << TestLog::EndMessage;
4073	m_gl.uniformMatrix3fv(location, count, transpose, value);
4074}
4075
4076void CallLogWrapper::glUniformMatrix3x2dv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
4077{
4078	if (m_enableLog)
4079		m_log << TestLog::Message << "glUniformMatrix3x2dv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
4080	m_gl.uniformMatrix3x2dv(location, count, transpose, value);
4081}
4082
4083void CallLogWrapper::glUniformMatrix3x2fv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
4084{
4085	if (m_enableLog)
4086		m_log << TestLog::Message << "glUniformMatrix3x2fv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 3*2)) << ");" << TestLog::EndMessage;
4087	m_gl.uniformMatrix3x2fv(location, count, transpose, value);
4088}
4089
4090void CallLogWrapper::glUniformMatrix3x4dv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
4091{
4092	if (m_enableLog)
4093		m_log << TestLog::Message << "glUniformMatrix3x4dv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
4094	m_gl.uniformMatrix3x4dv(location, count, transpose, value);
4095}
4096
4097void CallLogWrapper::glUniformMatrix3x4fv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
4098{
4099	if (m_enableLog)
4100		m_log << TestLog::Message << "glUniformMatrix3x4fv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 3*4)) << ");" << TestLog::EndMessage;
4101	m_gl.uniformMatrix3x4fv(location, count, transpose, value);
4102}
4103
4104void CallLogWrapper::glUniformMatrix4dv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
4105{
4106	if (m_enableLog)
4107		m_log << TestLog::Message << "glUniformMatrix4dv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
4108	m_gl.uniformMatrix4dv(location, count, transpose, value);
4109}
4110
4111void CallLogWrapper::glUniformMatrix4fv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
4112{
4113	if (m_enableLog)
4114		m_log << TestLog::Message << "glUniformMatrix4fv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 4*4)) << ");" << TestLog::EndMessage;
4115	m_gl.uniformMatrix4fv(location, count, transpose, value);
4116}
4117
4118void CallLogWrapper::glUniformMatrix4x2dv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
4119{
4120	if (m_enableLog)
4121		m_log << TestLog::Message << "glUniformMatrix4x2dv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
4122	m_gl.uniformMatrix4x2dv(location, count, transpose, value);
4123}
4124
4125void CallLogWrapper::glUniformMatrix4x2fv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
4126{
4127	if (m_enableLog)
4128		m_log << TestLog::Message << "glUniformMatrix4x2fv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 4*2)) << ");" << TestLog::EndMessage;
4129	m_gl.uniformMatrix4x2fv(location, count, transpose, value);
4130}
4131
4132void CallLogWrapper::glUniformMatrix4x3dv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
4133{
4134	if (m_enableLog)
4135		m_log << TestLog::Message << "glUniformMatrix4x3dv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
4136	m_gl.uniformMatrix4x3dv(location, count, transpose, value);
4137}
4138
4139void CallLogWrapper::glUniformMatrix4x3fv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
4140{
4141	if (m_enableLog)
4142		m_log << TestLog::Message << "glUniformMatrix4x3fv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 4*3)) << ");" << TestLog::EndMessage;
4143	m_gl.uniformMatrix4x3fv(location, count, transpose, value);
4144}
4145
4146void CallLogWrapper::glUniformSubroutinesuiv (glw::GLenum shadertype, glw::GLsizei count, const glw::GLuint *indices)
4147{
4148	if (m_enableLog)
4149		m_log << TestLog::Message << "glUniformSubroutinesuiv(" << toHex(shadertype) << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(indices))) << ");" << TestLog::EndMessage;
4150	m_gl.uniformSubroutinesuiv(shadertype, count, indices);
4151}
4152
4153glw::GLboolean CallLogWrapper::glUnmapBuffer (glw::GLenum target)
4154{
4155	if (m_enableLog)
4156		m_log << TestLog::Message << "glUnmapBuffer(" << getBufferTargetStr(target) << ");" << TestLog::EndMessage;
4157	glw::GLboolean returnValue = m_gl.unmapBuffer(target);
4158	if (m_enableLog)
4159		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
4160	return returnValue;
4161}
4162
4163glw::GLboolean CallLogWrapper::glUnmapNamedBuffer (glw::GLuint buffer)
4164{
4165	if (m_enableLog)
4166		m_log << TestLog::Message << "glUnmapNamedBuffer(" << buffer << ");" << TestLog::EndMessage;
4167	glw::GLboolean returnValue = m_gl.unmapNamedBuffer(buffer);
4168	if (m_enableLog)
4169		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
4170	return returnValue;
4171}
4172
4173void CallLogWrapper::glUseProgram (glw::GLuint program)
4174{
4175	if (m_enableLog)
4176		m_log << TestLog::Message << "glUseProgram(" << program << ");" << TestLog::EndMessage;
4177	m_gl.useProgram(program);
4178}
4179
4180void CallLogWrapper::glUseProgramStages (glw::GLuint pipeline, glw::GLbitfield stages, glw::GLuint program)
4181{
4182	if (m_enableLog)
4183		m_log << TestLog::Message << "glUseProgramStages(" << pipeline << ", " << getShaderTypeMaskStr(stages) << ", " << program << ");" << TestLog::EndMessage;
4184	m_gl.useProgramStages(pipeline, stages, program);
4185}
4186
4187void CallLogWrapper::glValidateProgram (glw::GLuint program)
4188{
4189	if (m_enableLog)
4190		m_log << TestLog::Message << "glValidateProgram(" << program << ");" << TestLog::EndMessage;
4191	m_gl.validateProgram(program);
4192}
4193
4194void CallLogWrapper::glValidateProgramPipeline (glw::GLuint pipeline)
4195{
4196	if (m_enableLog)
4197		m_log << TestLog::Message << "glValidateProgramPipeline(" << pipeline << ");" << TestLog::EndMessage;
4198	m_gl.validateProgramPipeline(pipeline);
4199}
4200
4201void CallLogWrapper::glVertexArrayAttribBinding (glw::GLuint vaobj, glw::GLuint attribindex, glw::GLuint bindingindex)
4202{
4203	if (m_enableLog)
4204		m_log << TestLog::Message << "glVertexArrayAttribBinding(" << vaobj << ", " << attribindex << ", " << bindingindex << ");" << TestLog::EndMessage;
4205	m_gl.vertexArrayAttribBinding(vaobj, attribindex, bindingindex);
4206}
4207
4208void CallLogWrapper::glVertexArrayAttribFormat (glw::GLuint vaobj, glw::GLuint attribindex, glw::GLint size, glw::GLenum type, glw::GLboolean normalized, glw::GLuint relativeoffset)
4209{
4210	if (m_enableLog)
4211		m_log << TestLog::Message << "glVertexArrayAttribFormat(" << vaobj << ", " << attribindex << ", " << size << ", " << toHex(type) << ", " << getBooleanStr(normalized) << ", " << relativeoffset << ");" << TestLog::EndMessage;
4212	m_gl.vertexArrayAttribFormat(vaobj, attribindex, size, type, normalized, relativeoffset);
4213}
4214
4215void CallLogWrapper::glVertexArrayAttribIFormat (glw::GLuint vaobj, glw::GLuint attribindex, glw::GLint size, glw::GLenum type, glw::GLuint relativeoffset)
4216{
4217	if (m_enableLog)
4218		m_log << TestLog::Message << "glVertexArrayAttribIFormat(" << vaobj << ", " << attribindex << ", " << size << ", " << toHex(type) << ", " << relativeoffset << ");" << TestLog::EndMessage;
4219	m_gl.vertexArrayAttribIFormat(vaobj, attribindex, size, type, relativeoffset);
4220}
4221
4222void CallLogWrapper::glVertexArrayAttribLFormat (glw::GLuint vaobj, glw::GLuint attribindex, glw::GLint size, glw::GLenum type, glw::GLuint relativeoffset)
4223{
4224	if (m_enableLog)
4225		m_log << TestLog::Message << "glVertexArrayAttribLFormat(" << vaobj << ", " << attribindex << ", " << size << ", " << toHex(type) << ", " << relativeoffset << ");" << TestLog::EndMessage;
4226	m_gl.vertexArrayAttribLFormat(vaobj, attribindex, size, type, relativeoffset);
4227}
4228
4229void CallLogWrapper::glVertexArrayBindingDivisor (glw::GLuint vaobj, glw::GLuint bindingindex, glw::GLuint divisor)
4230{
4231	if (m_enableLog)
4232		m_log << TestLog::Message << "glVertexArrayBindingDivisor(" << vaobj << ", " << bindingindex << ", " << divisor << ");" << TestLog::EndMessage;
4233	m_gl.vertexArrayBindingDivisor(vaobj, bindingindex, divisor);
4234}
4235
4236void CallLogWrapper::glVertexArrayElementBuffer (glw::GLuint vaobj, glw::GLuint buffer)
4237{
4238	if (m_enableLog)
4239		m_log << TestLog::Message << "glVertexArrayElementBuffer(" << vaobj << ", " << buffer << ");" << TestLog::EndMessage;
4240	m_gl.vertexArrayElementBuffer(vaobj, buffer);
4241}
4242
4243void CallLogWrapper::glVertexArrayVertexBuffer (glw::GLuint vaobj, glw::GLuint bindingindex, glw::GLuint buffer, glw::GLintptr offset, glw::GLsizei stride)
4244{
4245	if (m_enableLog)
4246		m_log << TestLog::Message << "glVertexArrayVertexBuffer(" << vaobj << ", " << bindingindex << ", " << buffer << ", " << offset << ", " << stride << ");" << TestLog::EndMessage;
4247	m_gl.vertexArrayVertexBuffer(vaobj, bindingindex, buffer, offset, stride);
4248}
4249
4250void CallLogWrapper::glVertexArrayVertexBuffers (glw::GLuint vaobj, glw::GLuint first, glw::GLsizei count, const glw::GLuint *buffers, const glw::GLintptr *offsets, const glw::GLsizei *strides)
4251{
4252	if (m_enableLog)
4253		m_log << TestLog::Message << "glVertexArrayVertexBuffers(" << vaobj << ", " << first << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(buffers))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(offsets))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(strides))) << ");" << TestLog::EndMessage;
4254	m_gl.vertexArrayVertexBuffers(vaobj, first, count, buffers, offsets, strides);
4255}
4256
4257void CallLogWrapper::glVertexAttrib1d (glw::GLuint index, glw::GLdouble x)
4258{
4259	if (m_enableLog)
4260		m_log << TestLog::Message << "glVertexAttrib1d(" << index << ", " << x << ");" << TestLog::EndMessage;
4261	m_gl.vertexAttrib1d(index, x);
4262}
4263
4264void CallLogWrapper::glVertexAttrib1dv (glw::GLuint index, const glw::GLdouble *v)
4265{
4266	if (m_enableLog)
4267		m_log << TestLog::Message << "glVertexAttrib1dv(" << index << ", " << getPointerStr(v, 1) << ");" << TestLog::EndMessage;
4268	m_gl.vertexAttrib1dv(index, v);
4269}
4270
4271void CallLogWrapper::glVertexAttrib1f (glw::GLuint index, glw::GLfloat x)
4272{
4273	if (m_enableLog)
4274		m_log << TestLog::Message << "glVertexAttrib1f(" << index << ", " << x << ");" << TestLog::EndMessage;
4275	m_gl.vertexAttrib1f(index, x);
4276}
4277
4278void CallLogWrapper::glVertexAttrib1fv (glw::GLuint index, const glw::GLfloat *v)
4279{
4280	if (m_enableLog)
4281		m_log << TestLog::Message << "glVertexAttrib1fv(" << index << ", " << getPointerStr(v, 1) << ");" << TestLog::EndMessage;
4282	m_gl.vertexAttrib1fv(index, v);
4283}
4284
4285void CallLogWrapper::glVertexAttrib1s (glw::GLuint index, glw::GLshort x)
4286{
4287	if (m_enableLog)
4288		m_log << TestLog::Message << "glVertexAttrib1s(" << index << ", " << x << ");" << TestLog::EndMessage;
4289	m_gl.vertexAttrib1s(index, x);
4290}
4291
4292void CallLogWrapper::glVertexAttrib1sv (glw::GLuint index, const glw::GLshort *v)
4293{
4294	if (m_enableLog)
4295		m_log << TestLog::Message << "glVertexAttrib1sv(" << index << ", " << getPointerStr(v, 1) << ");" << TestLog::EndMessage;
4296	m_gl.vertexAttrib1sv(index, v);
4297}
4298
4299void CallLogWrapper::glVertexAttrib2d (glw::GLuint index, glw::GLdouble x, glw::GLdouble y)
4300{
4301	if (m_enableLog)
4302		m_log << TestLog::Message << "glVertexAttrib2d(" << index << ", " << x << ", " << y << ");" << TestLog::EndMessage;
4303	m_gl.vertexAttrib2d(index, x, y);
4304}
4305
4306void CallLogWrapper::glVertexAttrib2dv (glw::GLuint index, const glw::GLdouble *v)
4307{
4308	if (m_enableLog)
4309		m_log << TestLog::Message << "glVertexAttrib2dv(" << index << ", " << getPointerStr(v, 2) << ");" << TestLog::EndMessage;
4310	m_gl.vertexAttrib2dv(index, v);
4311}
4312
4313void CallLogWrapper::glVertexAttrib2f (glw::GLuint index, glw::GLfloat x, glw::GLfloat y)
4314{
4315	if (m_enableLog)
4316		m_log << TestLog::Message << "glVertexAttrib2f(" << index << ", " << x << ", " << y << ");" << TestLog::EndMessage;
4317	m_gl.vertexAttrib2f(index, x, y);
4318}
4319
4320void CallLogWrapper::glVertexAttrib2fv (glw::GLuint index, const glw::GLfloat *v)
4321{
4322	if (m_enableLog)
4323		m_log << TestLog::Message << "glVertexAttrib2fv(" << index << ", " << getPointerStr(v, 2) << ");" << TestLog::EndMessage;
4324	m_gl.vertexAttrib2fv(index, v);
4325}
4326
4327void CallLogWrapper::glVertexAttrib2s (glw::GLuint index, glw::GLshort x, glw::GLshort y)
4328{
4329	if (m_enableLog)
4330		m_log << TestLog::Message << "glVertexAttrib2s(" << index << ", " << x << ", " << y << ");" << TestLog::EndMessage;
4331	m_gl.vertexAttrib2s(index, x, y);
4332}
4333
4334void CallLogWrapper::glVertexAttrib2sv (glw::GLuint index, const glw::GLshort *v)
4335{
4336	if (m_enableLog)
4337		m_log << TestLog::Message << "glVertexAttrib2sv(" << index << ", " << getPointerStr(v, 2) << ");" << TestLog::EndMessage;
4338	m_gl.vertexAttrib2sv(index, v);
4339}
4340
4341void CallLogWrapper::glVertexAttrib3d (glw::GLuint index, glw::GLdouble x, glw::GLdouble y, glw::GLdouble z)
4342{
4343	if (m_enableLog)
4344		m_log << TestLog::Message << "glVertexAttrib3d(" << index << ", " << x << ", " << y << ", " << z << ");" << TestLog::EndMessage;
4345	m_gl.vertexAttrib3d(index, x, y, z);
4346}
4347
4348void CallLogWrapper::glVertexAttrib3dv (glw::GLuint index, const glw::GLdouble *v)
4349{
4350	if (m_enableLog)
4351		m_log << TestLog::Message << "glVertexAttrib3dv(" << index << ", " << getPointerStr(v, 3) << ");" << TestLog::EndMessage;
4352	m_gl.vertexAttrib3dv(index, v);
4353}
4354
4355void CallLogWrapper::glVertexAttrib3f (glw::GLuint index, glw::GLfloat x, glw::GLfloat y, glw::GLfloat z)
4356{
4357	if (m_enableLog)
4358		m_log << TestLog::Message << "glVertexAttrib3f(" << index << ", " << x << ", " << y << ", " << z << ");" << TestLog::EndMessage;
4359	m_gl.vertexAttrib3f(index, x, y, z);
4360}
4361
4362void CallLogWrapper::glVertexAttrib3fv (glw::GLuint index, const glw::GLfloat *v)
4363{
4364	if (m_enableLog)
4365		m_log << TestLog::Message << "glVertexAttrib3fv(" << index << ", " << getPointerStr(v, 3) << ");" << TestLog::EndMessage;
4366	m_gl.vertexAttrib3fv(index, v);
4367}
4368
4369void CallLogWrapper::glVertexAttrib3s (glw::GLuint index, glw::GLshort x, glw::GLshort y, glw::GLshort z)
4370{
4371	if (m_enableLog)
4372		m_log << TestLog::Message << "glVertexAttrib3s(" << index << ", " << x << ", " << y << ", " << z << ");" << TestLog::EndMessage;
4373	m_gl.vertexAttrib3s(index, x, y, z);
4374}
4375
4376void CallLogWrapper::glVertexAttrib3sv (glw::GLuint index, const glw::GLshort *v)
4377{
4378	if (m_enableLog)
4379		m_log << TestLog::Message << "glVertexAttrib3sv(" << index << ", " << getPointerStr(v, 3) << ");" << TestLog::EndMessage;
4380	m_gl.vertexAttrib3sv(index, v);
4381}
4382
4383void CallLogWrapper::glVertexAttrib4Nbv (glw::GLuint index, const glw::GLbyte *v)
4384{
4385	if (m_enableLog)
4386		m_log << TestLog::Message << "glVertexAttrib4Nbv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
4387	m_gl.vertexAttrib4Nbv(index, v);
4388}
4389
4390void CallLogWrapper::glVertexAttrib4Niv (glw::GLuint index, const glw::GLint *v)
4391{
4392	if (m_enableLog)
4393		m_log << TestLog::Message << "glVertexAttrib4Niv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
4394	m_gl.vertexAttrib4Niv(index, v);
4395}
4396
4397void CallLogWrapper::glVertexAttrib4Nsv (glw::GLuint index, const glw::GLshort *v)
4398{
4399	if (m_enableLog)
4400		m_log << TestLog::Message << "glVertexAttrib4Nsv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
4401	m_gl.vertexAttrib4Nsv(index, v);
4402}
4403
4404void CallLogWrapper::glVertexAttrib4Nub (glw::GLuint index, glw::GLubyte x, glw::GLubyte y, glw::GLubyte z, glw::GLubyte w)
4405{
4406	if (m_enableLog)
4407		m_log << TestLog::Message << "glVertexAttrib4Nub(" << index << ", " << toHex(x) << ", " << toHex(y) << ", " << toHex(z) << ", " << toHex(w) << ");" << TestLog::EndMessage;
4408	m_gl.vertexAttrib4Nub(index, x, y, z, w);
4409}
4410
4411void CallLogWrapper::glVertexAttrib4Nubv (glw::GLuint index, const glw::GLubyte *v)
4412{
4413	if (m_enableLog)
4414		m_log << TestLog::Message << "glVertexAttrib4Nubv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
4415	m_gl.vertexAttrib4Nubv(index, v);
4416}
4417
4418void CallLogWrapper::glVertexAttrib4Nuiv (glw::GLuint index, const glw::GLuint *v)
4419{
4420	if (m_enableLog)
4421		m_log << TestLog::Message << "glVertexAttrib4Nuiv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
4422	m_gl.vertexAttrib4Nuiv(index, v);
4423}
4424
4425void CallLogWrapper::glVertexAttrib4Nusv (glw::GLuint index, const glw::GLushort *v)
4426{
4427	if (m_enableLog)
4428		m_log << TestLog::Message << "glVertexAttrib4Nusv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
4429	m_gl.vertexAttrib4Nusv(index, v);
4430}
4431
4432void CallLogWrapper::glVertexAttrib4bv (glw::GLuint index, const glw::GLbyte *v)
4433{
4434	if (m_enableLog)
4435		m_log << TestLog::Message << "glVertexAttrib4bv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
4436	m_gl.vertexAttrib4bv(index, v);
4437}
4438
4439void CallLogWrapper::glVertexAttrib4d (glw::GLuint index, glw::GLdouble x, glw::GLdouble y, glw::GLdouble z, glw::GLdouble w)
4440{
4441	if (m_enableLog)
4442		m_log << TestLog::Message << "glVertexAttrib4d(" << index << ", " << x << ", " << y << ", " << z << ", " << w << ");" << TestLog::EndMessage;
4443	m_gl.vertexAttrib4d(index, x, y, z, w);
4444}
4445
4446void CallLogWrapper::glVertexAttrib4dv (glw::GLuint index, const glw::GLdouble *v)
4447{
4448	if (m_enableLog)
4449		m_log << TestLog::Message << "glVertexAttrib4dv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
4450	m_gl.vertexAttrib4dv(index, v);
4451}
4452
4453void CallLogWrapper::glVertexAttrib4f (glw::GLuint index, glw::GLfloat x, glw::GLfloat y, glw::GLfloat z, glw::GLfloat w)
4454{
4455	if (m_enableLog)
4456		m_log << TestLog::Message << "glVertexAttrib4f(" << index << ", " << x << ", " << y << ", " << z << ", " << w << ");" << TestLog::EndMessage;
4457	m_gl.vertexAttrib4f(index, x, y, z, w);
4458}
4459
4460void CallLogWrapper::glVertexAttrib4fv (glw::GLuint index, const glw::GLfloat *v)
4461{
4462	if (m_enableLog)
4463		m_log << TestLog::Message << "glVertexAttrib4fv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
4464	m_gl.vertexAttrib4fv(index, v);
4465}
4466
4467void CallLogWrapper::glVertexAttrib4iv (glw::GLuint index, const glw::GLint *v)
4468{
4469	if (m_enableLog)
4470		m_log << TestLog::Message << "glVertexAttrib4iv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
4471	m_gl.vertexAttrib4iv(index, v);
4472}
4473
4474void CallLogWrapper::glVertexAttrib4s (glw::GLuint index, glw::GLshort x, glw::GLshort y, glw::GLshort z, glw::GLshort w)
4475{
4476	if (m_enableLog)
4477		m_log << TestLog::Message << "glVertexAttrib4s(" << index << ", " << x << ", " << y << ", " << z << ", " << w << ");" << TestLog::EndMessage;
4478	m_gl.vertexAttrib4s(index, x, y, z, w);
4479}
4480
4481void CallLogWrapper::glVertexAttrib4sv (glw::GLuint index, const glw::GLshort *v)
4482{
4483	if (m_enableLog)
4484		m_log << TestLog::Message << "glVertexAttrib4sv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
4485	m_gl.vertexAttrib4sv(index, v);
4486}
4487
4488void CallLogWrapper::glVertexAttrib4ubv (glw::GLuint index, const glw::GLubyte *v)
4489{
4490	if (m_enableLog)
4491		m_log << TestLog::Message << "glVertexAttrib4ubv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
4492	m_gl.vertexAttrib4ubv(index, v);
4493}
4494
4495void CallLogWrapper::glVertexAttrib4uiv (glw::GLuint index, const glw::GLuint *v)
4496{
4497	if (m_enableLog)
4498		m_log << TestLog::Message << "glVertexAttrib4uiv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
4499	m_gl.vertexAttrib4uiv(index, v);
4500}
4501
4502void CallLogWrapper::glVertexAttrib4usv (glw::GLuint index, const glw::GLushort *v)
4503{
4504	if (m_enableLog)
4505		m_log << TestLog::Message << "glVertexAttrib4usv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
4506	m_gl.vertexAttrib4usv(index, v);
4507}
4508
4509void CallLogWrapper::glVertexAttribBinding (glw::GLuint attribindex, glw::GLuint bindingindex)
4510{
4511	if (m_enableLog)
4512		m_log << TestLog::Message << "glVertexAttribBinding(" << attribindex << ", " << bindingindex << ");" << TestLog::EndMessage;
4513	m_gl.vertexAttribBinding(attribindex, bindingindex);
4514}
4515
4516void CallLogWrapper::glVertexAttribDivisor (glw::GLuint index, glw::GLuint divisor)
4517{
4518	if (m_enableLog)
4519		m_log << TestLog::Message << "glVertexAttribDivisor(" << index << ", " << divisor << ");" << TestLog::EndMessage;
4520	m_gl.vertexAttribDivisor(index, divisor);
4521}
4522
4523void CallLogWrapper::glVertexAttribFormat (glw::GLuint attribindex, glw::GLint size, glw::GLenum type, glw::GLboolean normalized, glw::GLuint relativeoffset)
4524{
4525	if (m_enableLog)
4526		m_log << TestLog::Message << "glVertexAttribFormat(" << attribindex << ", " << size << ", " << getTypeStr(type) << ", " << getBooleanStr(normalized) << ", " << relativeoffset << ");" << TestLog::EndMessage;
4527	m_gl.vertexAttribFormat(attribindex, size, type, normalized, relativeoffset);
4528}
4529
4530void CallLogWrapper::glVertexAttribI1i (glw::GLuint index, glw::GLint x)
4531{
4532	if (m_enableLog)
4533		m_log << TestLog::Message << "glVertexAttribI1i(" << index << ", " << x << ");" << TestLog::EndMessage;
4534	m_gl.vertexAttribI1i(index, x);
4535}
4536
4537void CallLogWrapper::glVertexAttribI1iv (glw::GLuint index, const glw::GLint *v)
4538{
4539	if (m_enableLog)
4540		m_log << TestLog::Message << "glVertexAttribI1iv(" << index << ", " << getPointerStr(v, 1) << ");" << TestLog::EndMessage;
4541	m_gl.vertexAttribI1iv(index, v);
4542}
4543
4544void CallLogWrapper::glVertexAttribI1ui (glw::GLuint index, glw::GLuint x)
4545{
4546	if (m_enableLog)
4547		m_log << TestLog::Message << "glVertexAttribI1ui(" << index << ", " << x << ");" << TestLog::EndMessage;
4548	m_gl.vertexAttribI1ui(index, x);
4549}
4550
4551void CallLogWrapper::glVertexAttribI1uiv (glw::GLuint index, const glw::GLuint *v)
4552{
4553	if (m_enableLog)
4554		m_log << TestLog::Message << "glVertexAttribI1uiv(" << index << ", " << getPointerStr(v, 1) << ");" << TestLog::EndMessage;
4555	m_gl.vertexAttribI1uiv(index, v);
4556}
4557
4558void CallLogWrapper::glVertexAttribI2i (glw::GLuint index, glw::GLint x, glw::GLint y)
4559{
4560	if (m_enableLog)
4561		m_log << TestLog::Message << "glVertexAttribI2i(" << index << ", " << x << ", " << y << ");" << TestLog::EndMessage;
4562	m_gl.vertexAttribI2i(index, x, y);
4563}
4564
4565void CallLogWrapper::glVertexAttribI2iv (glw::GLuint index, const glw::GLint *v)
4566{
4567	if (m_enableLog)
4568		m_log << TestLog::Message << "glVertexAttribI2iv(" << index << ", " << getPointerStr(v, 2) << ");" << TestLog::EndMessage;
4569	m_gl.vertexAttribI2iv(index, v);
4570}
4571
4572void CallLogWrapper::glVertexAttribI2ui (glw::GLuint index, glw::GLuint x, glw::GLuint y)
4573{
4574	if (m_enableLog)
4575		m_log << TestLog::Message << "glVertexAttribI2ui(" << index << ", " << x << ", " << y << ");" << TestLog::EndMessage;
4576	m_gl.vertexAttribI2ui(index, x, y);
4577}
4578
4579void CallLogWrapper::glVertexAttribI2uiv (glw::GLuint index, const glw::GLuint *v)
4580{
4581	if (m_enableLog)
4582		m_log << TestLog::Message << "glVertexAttribI2uiv(" << index << ", " << getPointerStr(v, 2) << ");" << TestLog::EndMessage;
4583	m_gl.vertexAttribI2uiv(index, v);
4584}
4585
4586void CallLogWrapper::glVertexAttribI3i (glw::GLuint index, glw::GLint x, glw::GLint y, glw::GLint z)
4587{
4588	if (m_enableLog)
4589		m_log << TestLog::Message << "glVertexAttribI3i(" << index << ", " << x << ", " << y << ", " << z << ");" << TestLog::EndMessage;
4590	m_gl.vertexAttribI3i(index, x, y, z);
4591}
4592
4593void CallLogWrapper::glVertexAttribI3iv (glw::GLuint index, const glw::GLint *v)
4594{
4595	if (m_enableLog)
4596		m_log << TestLog::Message << "glVertexAttribI3iv(" << index << ", " << getPointerStr(v, 3) << ");" << TestLog::EndMessage;
4597	m_gl.vertexAttribI3iv(index, v);
4598}
4599
4600void CallLogWrapper::glVertexAttribI3ui (glw::GLuint index, glw::GLuint x, glw::GLuint y, glw::GLuint z)
4601{
4602	if (m_enableLog)
4603		m_log << TestLog::Message << "glVertexAttribI3ui(" << index << ", " << x << ", " << y << ", " << z << ");" << TestLog::EndMessage;
4604	m_gl.vertexAttribI3ui(index, x, y, z);
4605}
4606
4607void CallLogWrapper::glVertexAttribI3uiv (glw::GLuint index, const glw::GLuint *v)
4608{
4609	if (m_enableLog)
4610		m_log << TestLog::Message << "glVertexAttribI3uiv(" << index << ", " << getPointerStr(v, 3) << ");" << TestLog::EndMessage;
4611	m_gl.vertexAttribI3uiv(index, v);
4612}
4613
4614void CallLogWrapper::glVertexAttribI4bv (glw::GLuint index, const glw::GLbyte *v)
4615{
4616	if (m_enableLog)
4617		m_log << TestLog::Message << "glVertexAttribI4bv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
4618	m_gl.vertexAttribI4bv(index, v);
4619}
4620
4621void CallLogWrapper::glVertexAttribI4i (glw::GLuint index, glw::GLint x, glw::GLint y, glw::GLint z, glw::GLint w)
4622{
4623	if (m_enableLog)
4624		m_log << TestLog::Message << "glVertexAttribI4i(" << index << ", " << x << ", " << y << ", " << z << ", " << w << ");" << TestLog::EndMessage;
4625	m_gl.vertexAttribI4i(index, x, y, z, w);
4626}
4627
4628void CallLogWrapper::glVertexAttribI4iv (glw::GLuint index, const glw::GLint *v)
4629{
4630	if (m_enableLog)
4631		m_log << TestLog::Message << "glVertexAttribI4iv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
4632	m_gl.vertexAttribI4iv(index, v);
4633}
4634
4635void CallLogWrapper::glVertexAttribI4sv (glw::GLuint index, const glw::GLshort *v)
4636{
4637	if (m_enableLog)
4638		m_log << TestLog::Message << "glVertexAttribI4sv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
4639	m_gl.vertexAttribI4sv(index, v);
4640}
4641
4642void CallLogWrapper::glVertexAttribI4ubv (glw::GLuint index, const glw::GLubyte *v)
4643{
4644	if (m_enableLog)
4645		m_log << TestLog::Message << "glVertexAttribI4ubv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
4646	m_gl.vertexAttribI4ubv(index, v);
4647}
4648
4649void CallLogWrapper::glVertexAttribI4ui (glw::GLuint index, glw::GLuint x, glw::GLuint y, glw::GLuint z, glw::GLuint w)
4650{
4651	if (m_enableLog)
4652		m_log << TestLog::Message << "glVertexAttribI4ui(" << index << ", " << x << ", " << y << ", " << z << ", " << w << ");" << TestLog::EndMessage;
4653	m_gl.vertexAttribI4ui(index, x, y, z, w);
4654}
4655
4656void CallLogWrapper::glVertexAttribI4uiv (glw::GLuint index, const glw::GLuint *v)
4657{
4658	if (m_enableLog)
4659		m_log << TestLog::Message << "glVertexAttribI4uiv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
4660	m_gl.vertexAttribI4uiv(index, v);
4661}
4662
4663void CallLogWrapper::glVertexAttribI4usv (glw::GLuint index, const glw::GLushort *v)
4664{
4665	if (m_enableLog)
4666		m_log << TestLog::Message << "glVertexAttribI4usv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
4667	m_gl.vertexAttribI4usv(index, v);
4668}
4669
4670void CallLogWrapper::glVertexAttribIFormat (glw::GLuint attribindex, glw::GLint size, glw::GLenum type, glw::GLuint relativeoffset)
4671{
4672	if (m_enableLog)
4673		m_log << TestLog::Message << "glVertexAttribIFormat(" << attribindex << ", " << size << ", " << getTypeStr(type) << ", " << relativeoffset << ");" << TestLog::EndMessage;
4674	m_gl.vertexAttribIFormat(attribindex, size, type, relativeoffset);
4675}
4676
4677void CallLogWrapper::glVertexAttribIPointer (glw::GLuint index, glw::GLint size, glw::GLenum type, glw::GLsizei stride, const void *pointer)
4678{
4679	if (m_enableLog)
4680		m_log << TestLog::Message << "glVertexAttribIPointer(" << index << ", " << size << ", " << getTypeStr(type) << ", " << stride << ", " << pointer << ");" << TestLog::EndMessage;
4681	m_gl.vertexAttribIPointer(index, size, type, stride, pointer);
4682}
4683
4684void CallLogWrapper::glVertexAttribL1d (glw::GLuint index, glw::GLdouble x)
4685{
4686	if (m_enableLog)
4687		m_log << TestLog::Message << "glVertexAttribL1d(" << index << ", " << x << ");" << TestLog::EndMessage;
4688	m_gl.vertexAttribL1d(index, x);
4689}
4690
4691void CallLogWrapper::glVertexAttribL1dv (glw::GLuint index, const glw::GLdouble *v)
4692{
4693	if (m_enableLog)
4694		m_log << TestLog::Message << "glVertexAttribL1dv(" << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(v))) << ");" << TestLog::EndMessage;
4695	m_gl.vertexAttribL1dv(index, v);
4696}
4697
4698void CallLogWrapper::glVertexAttribL2d (glw::GLuint index, glw::GLdouble x, glw::GLdouble y)
4699{
4700	if (m_enableLog)
4701		m_log << TestLog::Message << "glVertexAttribL2d(" << index << ", " << x << ", " << y << ");" << TestLog::EndMessage;
4702	m_gl.vertexAttribL2d(index, x, y);
4703}
4704
4705void CallLogWrapper::glVertexAttribL2dv (glw::GLuint index, const glw::GLdouble *v)
4706{
4707	if (m_enableLog)
4708		m_log << TestLog::Message << "glVertexAttribL2dv(" << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(v))) << ");" << TestLog::EndMessage;
4709	m_gl.vertexAttribL2dv(index, v);
4710}
4711
4712void CallLogWrapper::glVertexAttribL3d (glw::GLuint index, glw::GLdouble x, glw::GLdouble y, glw::GLdouble z)
4713{
4714	if (m_enableLog)
4715		m_log << TestLog::Message << "glVertexAttribL3d(" << index << ", " << x << ", " << y << ", " << z << ");" << TestLog::EndMessage;
4716	m_gl.vertexAttribL3d(index, x, y, z);
4717}
4718
4719void CallLogWrapper::glVertexAttribL3dv (glw::GLuint index, const glw::GLdouble *v)
4720{
4721	if (m_enableLog)
4722		m_log << TestLog::Message << "glVertexAttribL3dv(" << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(v))) << ");" << TestLog::EndMessage;
4723	m_gl.vertexAttribL3dv(index, v);
4724}
4725
4726void CallLogWrapper::glVertexAttribL4d (glw::GLuint index, glw::GLdouble x, glw::GLdouble y, glw::GLdouble z, glw::GLdouble w)
4727{
4728	if (m_enableLog)
4729		m_log << TestLog::Message << "glVertexAttribL4d(" << index << ", " << x << ", " << y << ", " << z << ", " << w << ");" << TestLog::EndMessage;
4730	m_gl.vertexAttribL4d(index, x, y, z, w);
4731}
4732
4733void CallLogWrapper::glVertexAttribL4dv (glw::GLuint index, const glw::GLdouble *v)
4734{
4735	if (m_enableLog)
4736		m_log << TestLog::Message << "glVertexAttribL4dv(" << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(v))) << ");" << TestLog::EndMessage;
4737	m_gl.vertexAttribL4dv(index, v);
4738}
4739
4740void CallLogWrapper::glVertexAttribLFormat (glw::GLuint attribindex, glw::GLint size, glw::GLenum type, glw::GLuint relativeoffset)
4741{
4742	if (m_enableLog)
4743		m_log << TestLog::Message << "glVertexAttribLFormat(" << attribindex << ", " << size << ", " << toHex(type) << ", " << relativeoffset << ");" << TestLog::EndMessage;
4744	m_gl.vertexAttribLFormat(attribindex, size, type, relativeoffset);
4745}
4746
4747void CallLogWrapper::glVertexAttribLPointer (glw::GLuint index, glw::GLint size, glw::GLenum type, glw::GLsizei stride, const void *pointer)
4748{
4749	if (m_enableLog)
4750		m_log << TestLog::Message << "glVertexAttribLPointer(" << index << ", " << size << ", " << toHex(type) << ", " << stride << ", " << pointer << ");" << TestLog::EndMessage;
4751	m_gl.vertexAttribLPointer(index, size, type, stride, pointer);
4752}
4753
4754void CallLogWrapper::glVertexAttribP1ui (glw::GLuint index, glw::GLenum type, glw::GLboolean normalized, glw::GLuint value)
4755{
4756	if (m_enableLog)
4757		m_log << TestLog::Message << "glVertexAttribP1ui(" << index << ", " << toHex(type) << ", " << getBooleanStr(normalized) << ", " << value << ");" << TestLog::EndMessage;
4758	m_gl.vertexAttribP1ui(index, type, normalized, value);
4759}
4760
4761void CallLogWrapper::glVertexAttribP1uiv (glw::GLuint index, glw::GLenum type, glw::GLboolean normalized, const glw::GLuint *value)
4762{
4763	if (m_enableLog)
4764		m_log << TestLog::Message << "glVertexAttribP1uiv(" << index << ", " << toHex(type) << ", " << getBooleanStr(normalized) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
4765	m_gl.vertexAttribP1uiv(index, type, normalized, value);
4766}
4767
4768void CallLogWrapper::glVertexAttribP2ui (glw::GLuint index, glw::GLenum type, glw::GLboolean normalized, glw::GLuint value)
4769{
4770	if (m_enableLog)
4771		m_log << TestLog::Message << "glVertexAttribP2ui(" << index << ", " << toHex(type) << ", " << getBooleanStr(normalized) << ", " << value << ");" << TestLog::EndMessage;
4772	m_gl.vertexAttribP2ui(index, type, normalized, value);
4773}
4774
4775void CallLogWrapper::glVertexAttribP2uiv (glw::GLuint index, glw::GLenum type, glw::GLboolean normalized, const glw::GLuint *value)
4776{
4777	if (m_enableLog)
4778		m_log << TestLog::Message << "glVertexAttribP2uiv(" << index << ", " << toHex(type) << ", " << getBooleanStr(normalized) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
4779	m_gl.vertexAttribP2uiv(index, type, normalized, value);
4780}
4781
4782void CallLogWrapper::glVertexAttribP3ui (glw::GLuint index, glw::GLenum type, glw::GLboolean normalized, glw::GLuint value)
4783{
4784	if (m_enableLog)
4785		m_log << TestLog::Message << "glVertexAttribP3ui(" << index << ", " << toHex(type) << ", " << getBooleanStr(normalized) << ", " << value << ");" << TestLog::EndMessage;
4786	m_gl.vertexAttribP3ui(index, type, normalized, value);
4787}
4788
4789void CallLogWrapper::glVertexAttribP3uiv (glw::GLuint index, glw::GLenum type, glw::GLboolean normalized, const glw::GLuint *value)
4790{
4791	if (m_enableLog)
4792		m_log << TestLog::Message << "glVertexAttribP3uiv(" << index << ", " << toHex(type) << ", " << getBooleanStr(normalized) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
4793	m_gl.vertexAttribP3uiv(index, type, normalized, value);
4794}
4795
4796void CallLogWrapper::glVertexAttribP4ui (glw::GLuint index, glw::GLenum type, glw::GLboolean normalized, glw::GLuint value)
4797{
4798	if (m_enableLog)
4799		m_log << TestLog::Message << "glVertexAttribP4ui(" << index << ", " << toHex(type) << ", " << getBooleanStr(normalized) << ", " << value << ");" << TestLog::EndMessage;
4800	m_gl.vertexAttribP4ui(index, type, normalized, value);
4801}
4802
4803void CallLogWrapper::glVertexAttribP4uiv (glw::GLuint index, glw::GLenum type, glw::GLboolean normalized, const glw::GLuint *value)
4804{
4805	if (m_enableLog)
4806		m_log << TestLog::Message << "glVertexAttribP4uiv(" << index << ", " << toHex(type) << ", " << getBooleanStr(normalized) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
4807	m_gl.vertexAttribP4uiv(index, type, normalized, value);
4808}
4809
4810void CallLogWrapper::glVertexAttribPointer (glw::GLuint index, glw::GLint size, glw::GLenum type, glw::GLboolean normalized, glw::GLsizei stride, const void *pointer)
4811{
4812	if (m_enableLog)
4813		m_log << TestLog::Message << "glVertexAttribPointer(" << index << ", " << size << ", " << getTypeStr(type) << ", " << getBooleanStr(normalized) << ", " << stride << ", " << pointer << ");" << TestLog::EndMessage;
4814	m_gl.vertexAttribPointer(index, size, type, normalized, stride, pointer);
4815}
4816
4817void CallLogWrapper::glVertexBindingDivisor (glw::GLuint bindingindex, glw::GLuint divisor)
4818{
4819	if (m_enableLog)
4820		m_log << TestLog::Message << "glVertexBindingDivisor(" << bindingindex << ", " << divisor << ");" << TestLog::EndMessage;
4821	m_gl.vertexBindingDivisor(bindingindex, divisor);
4822}
4823
4824void CallLogWrapper::glViewport (glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height)
4825{
4826	if (m_enableLog)
4827		m_log << TestLog::Message << "glViewport(" << x << ", " << y << ", " << width << ", " << height << ");" << TestLog::EndMessage;
4828	m_gl.viewport(x, y, width, height);
4829}
4830
4831void CallLogWrapper::glViewportArrayv (glw::GLuint first, glw::GLsizei count, const glw::GLfloat *v)
4832{
4833	if (m_enableLog)
4834		m_log << TestLog::Message << "glViewportArrayv(" << first << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(v))) << ");" << TestLog::EndMessage;
4835	m_gl.viewportArrayv(first, count, v);
4836}
4837
4838void CallLogWrapper::glViewportIndexedf (glw::GLuint index, glw::GLfloat x, glw::GLfloat y, glw::GLfloat w, glw::GLfloat h)
4839{
4840	if (m_enableLog)
4841		m_log << TestLog::Message << "glViewportIndexedf(" << index << ", " << x << ", " << y << ", " << w << ", " << h << ");" << TestLog::EndMessage;
4842	m_gl.viewportIndexedf(index, x, y, w, h);
4843}
4844
4845void CallLogWrapper::glViewportIndexedfv (glw::GLuint index, const glw::GLfloat *v)
4846{
4847	if (m_enableLog)
4848		m_log << TestLog::Message << "glViewportIndexedfv(" << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(v))) << ");" << TestLog::EndMessage;
4849	m_gl.viewportIndexedfv(index, v);
4850}
4851
4852void CallLogWrapper::glWaitSync (glw::GLsync sync, glw::GLbitfield flags, glw::GLuint64 timeout)
4853{
4854	if (m_enableLog)
4855		m_log << TestLog::Message << "glWaitSync(" << sync << ", " << toHex(flags) << ", " << timeout << ");" << TestLog::EndMessage;
4856	m_gl.waitSync(sync, flags, timeout);
4857}
4858