Home | History | Annotate | Download | only in opengl
      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 acc85f4b76949b015c0354bd8c20a1076a49b1cf.
      5  */
      6 
      7 void 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 
     14 void 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 
     21 void 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 
     28 void 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 
     35 void 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 
     42 void 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 
     49 void 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 
     56 void 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 
     63 void 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 
     70 void 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 
     77 void 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 
     84 void 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 
     91 void 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 
     98 void 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 
    105 void 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 
    112 void 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 
    119 void 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) << ", " << getUncompressedTextureFormatStr(format) << ");" << TestLog::EndMessage;
    123 	m_gl.bindImageTexture(unit, texture, level, layered, layer, access, format);
    124 }
    125 
    126 void 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 
    133 void CallLogWrapper::glBindMultiTextureEXT (glw::GLenum texunit, glw::GLenum target, glw::GLuint texture)
    134 {
    135 	if (m_enableLog)
    136 		m_log << TestLog::Message << "glBindMultiTextureEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << texture << ");" << TestLog::EndMessage;
    137 	m_gl.bindMultiTextureEXT(texunit, target, texture);
    138 }
    139 
    140 void CallLogWrapper::glBindProgramPipeline (glw::GLuint pipeline)
    141 {
    142 	if (m_enableLog)
    143 		m_log << TestLog::Message << "glBindProgramPipeline(" << pipeline << ");" << TestLog::EndMessage;
    144 	m_gl.bindProgramPipeline(pipeline);
    145 }
    146 
    147 void CallLogWrapper::glBindRenderbuffer (glw::GLenum target, glw::GLuint renderbuffer)
    148 {
    149 	if (m_enableLog)
    150 		m_log << TestLog::Message << "glBindRenderbuffer(" << getFramebufferTargetStr(target) << ", " << renderbuffer << ");" << TestLog::EndMessage;
    151 	m_gl.bindRenderbuffer(target, renderbuffer);
    152 }
    153 
    154 void CallLogWrapper::glBindSampler (glw::GLuint unit, glw::GLuint sampler)
    155 {
    156 	if (m_enableLog)
    157 		m_log << TestLog::Message << "glBindSampler(" << unit << ", " << sampler << ");" << TestLog::EndMessage;
    158 	m_gl.bindSampler(unit, sampler);
    159 }
    160 
    161 void CallLogWrapper::glBindSamplers (glw::GLuint first, glw::GLsizei count, const glw::GLuint *samplers)
    162 {
    163 	if (m_enableLog)
    164 		m_log << TestLog::Message << "glBindSamplers(" << first << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(samplers))) << ");" << TestLog::EndMessage;
    165 	m_gl.bindSamplers(first, count, samplers);
    166 }
    167 
    168 void CallLogWrapper::glBindTexture (glw::GLenum target, glw::GLuint texture)
    169 {
    170 	if (m_enableLog)
    171 		m_log << TestLog::Message << "glBindTexture(" << getTextureTargetStr(target) << ", " << texture << ");" << TestLog::EndMessage;
    172 	m_gl.bindTexture(target, texture);
    173 }
    174 
    175 void CallLogWrapper::glBindTextureUnit (glw::GLuint unit, glw::GLuint texture)
    176 {
    177 	if (m_enableLog)
    178 		m_log << TestLog::Message << "glBindTextureUnit(" << unit << ", " << texture << ");" << TestLog::EndMessage;
    179 	m_gl.bindTextureUnit(unit, texture);
    180 }
    181 
    182 void CallLogWrapper::glBindTextures (glw::GLuint first, glw::GLsizei count, const glw::GLuint *textures)
    183 {
    184 	if (m_enableLog)
    185 		m_log << TestLog::Message << "glBindTextures(" << first << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(textures))) << ");" << TestLog::EndMessage;
    186 	m_gl.bindTextures(first, count, textures);
    187 }
    188 
    189 void CallLogWrapper::glBindTransformFeedback (glw::GLenum target, glw::GLuint id)
    190 {
    191 	if (m_enableLog)
    192 		m_log << TestLog::Message << "glBindTransformFeedback(" << getTransformFeedbackTargetStr(target) << ", " << id << ");" << TestLog::EndMessage;
    193 	m_gl.bindTransformFeedback(target, id);
    194 }
    195 
    196 void CallLogWrapper::glBindVertexArray (glw::GLuint array)
    197 {
    198 	if (m_enableLog)
    199 		m_log << TestLog::Message << "glBindVertexArray(" << array << ");" << TestLog::EndMessage;
    200 	m_gl.bindVertexArray(array);
    201 }
    202 
    203 void CallLogWrapper::glBindVertexBuffer (glw::GLuint bindingindex, glw::GLuint buffer, glw::GLintptr offset, glw::GLsizei stride)
    204 {
    205 	if (m_enableLog)
    206 		m_log << TestLog::Message << "glBindVertexBuffer(" << bindingindex << ", " << buffer << ", " << offset << ", " << stride << ");" << TestLog::EndMessage;
    207 	m_gl.bindVertexBuffer(bindingindex, buffer, offset, stride);
    208 }
    209 
    210 void CallLogWrapper::glBindVertexBuffers (glw::GLuint first, glw::GLsizei count, const glw::GLuint *buffers, const glw::GLintptr *offsets, const glw::GLsizei *strides)
    211 {
    212 	if (m_enableLog)
    213 		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;
    214 	m_gl.bindVertexBuffers(first, count, buffers, offsets, strides);
    215 }
    216 
    217 void CallLogWrapper::glBlendBarrier (void)
    218 {
    219 	if (m_enableLog)
    220 		m_log << TestLog::Message << "glBlendBarrier(" << ");" << TestLog::EndMessage;
    221 	m_gl.blendBarrier();
    222 }
    223 
    224 void CallLogWrapper::glBlendColor (glw::GLfloat red, glw::GLfloat green, glw::GLfloat blue, glw::GLfloat alpha)
    225 {
    226 	if (m_enableLog)
    227 		m_log << TestLog::Message << "glBlendColor(" << red << ", " << green << ", " << blue << ", " << alpha << ");" << TestLog::EndMessage;
    228 	m_gl.blendColor(red, green, blue, alpha);
    229 }
    230 
    231 void CallLogWrapper::glBlendEquation (glw::GLenum mode)
    232 {
    233 	if (m_enableLog)
    234 		m_log << TestLog::Message << "glBlendEquation(" << getBlendEquationStr(mode) << ");" << TestLog::EndMessage;
    235 	m_gl.blendEquation(mode);
    236 }
    237 
    238 void CallLogWrapper::glBlendEquationSeparate (glw::GLenum modeRGB, glw::GLenum modeAlpha)
    239 {
    240 	if (m_enableLog)
    241 		m_log << TestLog::Message << "glBlendEquationSeparate(" << getBlendEquationStr(modeRGB) << ", " << getBlendEquationStr(modeAlpha) << ");" << TestLog::EndMessage;
    242 	m_gl.blendEquationSeparate(modeRGB, modeAlpha);
    243 }
    244 
    245 void CallLogWrapper::glBlendEquationSeparatei (glw::GLuint buf, glw::GLenum modeRGB, glw::GLenum modeAlpha)
    246 {
    247 	if (m_enableLog)
    248 		m_log << TestLog::Message << "glBlendEquationSeparatei(" << buf << ", " << getBlendEquationStr(modeRGB) << ", " << getBlendEquationStr(modeAlpha) << ");" << TestLog::EndMessage;
    249 	m_gl.blendEquationSeparatei(buf, modeRGB, modeAlpha);
    250 }
    251 
    252 void CallLogWrapper::glBlendEquationi (glw::GLuint buf, glw::GLenum mode)
    253 {
    254 	if (m_enableLog)
    255 		m_log << TestLog::Message << "glBlendEquationi(" << buf << ", " << getBlendEquationStr(mode) << ");" << TestLog::EndMessage;
    256 	m_gl.blendEquationi(buf, mode);
    257 }
    258 
    259 void CallLogWrapper::glBlendFunc (glw::GLenum sfactor, glw::GLenum dfactor)
    260 {
    261 	if (m_enableLog)
    262 		m_log << TestLog::Message << "glBlendFunc(" << getBlendFactorStr(sfactor) << ", " << getBlendFactorStr(dfactor) << ");" << TestLog::EndMessage;
    263 	m_gl.blendFunc(sfactor, dfactor);
    264 }
    265 
    266 void CallLogWrapper::glBlendFuncSeparate (glw::GLenum sfactorRGB, glw::GLenum dfactorRGB, glw::GLenum sfactorAlpha, glw::GLenum dfactorAlpha)
    267 {
    268 	if (m_enableLog)
    269 		m_log << TestLog::Message << "glBlendFuncSeparate(" << getBlendFactorStr(sfactorRGB) << ", " << getBlendFactorStr(dfactorRGB) << ", " << getBlendFactorStr(sfactorAlpha) << ", " << getBlendFactorStr(dfactorAlpha) << ");" << TestLog::EndMessage;
    270 	m_gl.blendFuncSeparate(sfactorRGB, dfactorRGB, sfactorAlpha, dfactorAlpha);
    271 }
    272 
    273 void CallLogWrapper::glBlendFuncSeparatei (glw::GLuint buf, glw::GLenum srcRGB, glw::GLenum dstRGB, glw::GLenum srcAlpha, glw::GLenum dstAlpha)
    274 {
    275 	if (m_enableLog)
    276 		m_log << TestLog::Message << "glBlendFuncSeparatei(" << buf << ", " << toHex(srcRGB) << ", " << toHex(dstRGB) << ", " << toHex(srcAlpha) << ", " << toHex(dstAlpha) << ");" << TestLog::EndMessage;
    277 	m_gl.blendFuncSeparatei(buf, srcRGB, dstRGB, srcAlpha, dstAlpha);
    278 }
    279 
    280 void CallLogWrapper::glBlendFunci (glw::GLuint buf, glw::GLenum src, glw::GLenum dst)
    281 {
    282 	if (m_enableLog)
    283 		m_log << TestLog::Message << "glBlendFunci(" << buf << ", " << toHex(src) << ", " << toHex(dst) << ");" << TestLog::EndMessage;
    284 	m_gl.blendFunci(buf, src, dst);
    285 }
    286 
    287 void 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)
    288 {
    289 	if (m_enableLog)
    290 		m_log << TestLog::Message << "glBlitFramebuffer(" << srcX0 << ", " << srcY0 << ", " << srcX1 << ", " << srcY1 << ", " << dstX0 << ", " << dstY0 << ", " << dstX1 << ", " << dstY1 << ", " << getBufferMaskStr(mask) << ", " << getTextureFilterStr(filter) << ");" << TestLog::EndMessage;
    291 	m_gl.blitFramebuffer(srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
    292 }
    293 
    294 void 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)
    295 {
    296 	if (m_enableLog)
    297 		m_log << TestLog::Message << "glBlitNamedFramebuffer(" << readFramebuffer << ", " << drawFramebuffer << ", " << srcX0 << ", " << srcY0 << ", " << srcX1 << ", " << srcY1 << ", " << dstX0 << ", " << dstY0 << ", " << dstX1 << ", " << dstY1 << ", " << toHex(mask) << ", " << toHex(filter) << ");" << TestLog::EndMessage;
    298 	m_gl.blitNamedFramebuffer(readFramebuffer, drawFramebuffer, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
    299 }
    300 
    301 void CallLogWrapper::glBufferData (glw::GLenum target, glw::GLsizeiptr size, const void *data, glw::GLenum usage)
    302 {
    303 	if (m_enableLog)
    304 		m_log << TestLog::Message << "glBufferData(" << getBufferTargetStr(target) << ", " << size << ", " << data << ", " << getUsageStr(usage) << ");" << TestLog::EndMessage;
    305 	m_gl.bufferData(target, size, data, usage);
    306 }
    307 
    308 void CallLogWrapper::glBufferPageCommitmentARB (glw::GLenum target, glw::GLintptr offset, glw::GLsizeiptr size, glw::GLboolean commit)
    309 {
    310 	if (m_enableLog)
    311 		m_log << TestLog::Message << "glBufferPageCommitmentARB(" << toHex(target) << ", " << offset << ", " << size << ", " << getBooleanStr(commit) << ");" << TestLog::EndMessage;
    312 	m_gl.bufferPageCommitmentARB(target, offset, size, commit);
    313 }
    314 
    315 void CallLogWrapper::glBufferStorage (glw::GLenum target, glw::GLsizeiptr size, const void *data, glw::GLbitfield flags)
    316 {
    317 	if (m_enableLog)
    318 		m_log << TestLog::Message << "glBufferStorage(" << toHex(target) << ", " << size << ", " << data << ", " << toHex(flags) << ");" << TestLog::EndMessage;
    319 	m_gl.bufferStorage(target, size, data, flags);
    320 }
    321 
    322 void CallLogWrapper::glBufferSubData (glw::GLenum target, glw::GLintptr offset, glw::GLsizeiptr size, const void *data)
    323 {
    324 	if (m_enableLog)
    325 		m_log << TestLog::Message << "glBufferSubData(" << getBufferTargetStr(target) << ", " << offset << ", " << size << ", " << data << ");" << TestLog::EndMessage;
    326 	m_gl.bufferSubData(target, offset, size, data);
    327 }
    328 
    329 glw::GLenum CallLogWrapper::glCheckFramebufferStatus (glw::GLenum target)
    330 {
    331 	if (m_enableLog)
    332 		m_log << TestLog::Message << "glCheckFramebufferStatus(" << getFramebufferTargetStr(target) << ");" << TestLog::EndMessage;
    333 	glw::GLenum returnValue = m_gl.checkFramebufferStatus(target);
    334 	if (m_enableLog)
    335 		m_log << TestLog::Message << "// " << getFramebufferStatusStr(returnValue) << " returned" << TestLog::EndMessage;
    336 	return returnValue;
    337 }
    338 
    339 glw::GLenum CallLogWrapper::glCheckNamedFramebufferStatus (glw::GLuint framebuffer, glw::GLenum target)
    340 {
    341 	if (m_enableLog)
    342 		m_log << TestLog::Message << "glCheckNamedFramebufferStatus(" << framebuffer << ", " << toHex(target) << ");" << TestLog::EndMessage;
    343 	glw::GLenum returnValue = m_gl.checkNamedFramebufferStatus(framebuffer, target);
    344 	if (m_enableLog)
    345 		m_log << TestLog::Message << "// " << toHex(returnValue) << " returned" << TestLog::EndMessage;
    346 	return returnValue;
    347 }
    348 
    349 glw::GLenum CallLogWrapper::glCheckNamedFramebufferStatusEXT (glw::GLuint framebuffer, glw::GLenum target)
    350 {
    351 	if (m_enableLog)
    352 		m_log << TestLog::Message << "glCheckNamedFramebufferStatusEXT(" << framebuffer << ", " << toHex(target) << ");" << TestLog::EndMessage;
    353 	glw::GLenum returnValue = m_gl.checkNamedFramebufferStatusEXT(framebuffer, target);
    354 	if (m_enableLog)
    355 		m_log << TestLog::Message << "// " << toHex(returnValue) << " returned" << TestLog::EndMessage;
    356 	return returnValue;
    357 }
    358 
    359 void CallLogWrapper::glClampColor (glw::GLenum target, glw::GLenum clamp)
    360 {
    361 	if (m_enableLog)
    362 		m_log << TestLog::Message << "glClampColor(" << toHex(target) << ", " << toHex(clamp) << ");" << TestLog::EndMessage;
    363 	m_gl.clampColor(target, clamp);
    364 }
    365 
    366 void CallLogWrapper::glClear (glw::GLbitfield mask)
    367 {
    368 	if (m_enableLog)
    369 		m_log << TestLog::Message << "glClear(" << getBufferMaskStr(mask) << ");" << TestLog::EndMessage;
    370 	m_gl.clear(mask);
    371 }
    372 
    373 void CallLogWrapper::glClearBufferData (glw::GLenum target, glw::GLenum internalformat, glw::GLenum format, glw::GLenum type, const void *data)
    374 {
    375 	if (m_enableLog)
    376 		m_log << TestLog::Message << "glClearBufferData(" << toHex(target) << ", " << toHex(internalformat) << ", " << toHex(format) << ", " << toHex(type) << ", " << data << ");" << TestLog::EndMessage;
    377 	m_gl.clearBufferData(target, internalformat, format, type, data);
    378 }
    379 
    380 void CallLogWrapper::glClearBufferSubData (glw::GLenum target, glw::GLenum internalformat, glw::GLintptr offset, glw::GLsizeiptr size, glw::GLenum format, glw::GLenum type, const void *data)
    381 {
    382 	if (m_enableLog)
    383 		m_log << TestLog::Message << "glClearBufferSubData(" << toHex(target) << ", " << toHex(internalformat) << ", " << offset << ", " << size << ", " << toHex(format) << ", " << toHex(type) << ", " << data << ");" << TestLog::EndMessage;
    384 	m_gl.clearBufferSubData(target, internalformat, offset, size, format, type, data);
    385 }
    386 
    387 void CallLogWrapper::glClearBufferfi (glw::GLenum buffer, glw::GLint drawbuffer, glw::GLfloat depth, glw::GLint stencil)
    388 {
    389 	if (m_enableLog)
    390 		m_log << TestLog::Message << "glClearBufferfi(" << getBufferStr(buffer) << ", " << drawbuffer << ", " << depth << ", " << stencil << ");" << TestLog::EndMessage;
    391 	m_gl.clearBufferfi(buffer, drawbuffer, depth, stencil);
    392 }
    393 
    394 void CallLogWrapper::glClearBufferfv (glw::GLenum buffer, glw::GLint drawbuffer, const glw::GLfloat *value)
    395 {
    396 	if (m_enableLog)
    397 		m_log << TestLog::Message << "glClearBufferfv(" << getBufferStr(buffer) << ", " << drawbuffer << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
    398 	m_gl.clearBufferfv(buffer, drawbuffer, value);
    399 }
    400 
    401 void CallLogWrapper::glClearBufferiv (glw::GLenum buffer, glw::GLint drawbuffer, const glw::GLint *value)
    402 {
    403 	if (m_enableLog)
    404 		m_log << TestLog::Message << "glClearBufferiv(" << getBufferStr(buffer) << ", " << drawbuffer << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
    405 	m_gl.clearBufferiv(buffer, drawbuffer, value);
    406 }
    407 
    408 void CallLogWrapper::glClearBufferuiv (glw::GLenum buffer, glw::GLint drawbuffer, const glw::GLuint *value)
    409 {
    410 	if (m_enableLog)
    411 		m_log << TestLog::Message << "glClearBufferuiv(" << getBufferStr(buffer) << ", " << drawbuffer << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
    412 	m_gl.clearBufferuiv(buffer, drawbuffer, value);
    413 }
    414 
    415 void CallLogWrapper::glClearColor (glw::GLfloat red, glw::GLfloat green, glw::GLfloat blue, glw::GLfloat alpha)
    416 {
    417 	if (m_enableLog)
    418 		m_log << TestLog::Message << "glClearColor(" << red << ", " << green << ", " << blue << ", " << alpha << ");" << TestLog::EndMessage;
    419 	m_gl.clearColor(red, green, blue, alpha);
    420 }
    421 
    422 void CallLogWrapper::glClearDepth (glw::GLdouble depth)
    423 {
    424 	if (m_enableLog)
    425 		m_log << TestLog::Message << "glClearDepth(" << depth << ");" << TestLog::EndMessage;
    426 	m_gl.clearDepth(depth);
    427 }
    428 
    429 void CallLogWrapper::glClearDepthf (glw::GLfloat d)
    430 {
    431 	if (m_enableLog)
    432 		m_log << TestLog::Message << "glClearDepthf(" << d << ");" << TestLog::EndMessage;
    433 	m_gl.clearDepthf(d);
    434 }
    435 
    436 void CallLogWrapper::glClearNamedBufferData (glw::GLuint buffer, glw::GLenum internalformat, glw::GLenum format, glw::GLenum type, const void *data)
    437 {
    438 	if (m_enableLog)
    439 		m_log << TestLog::Message << "glClearNamedBufferData(" << buffer << ", " << toHex(internalformat) << ", " << toHex(format) << ", " << toHex(type) << ", " << data << ");" << TestLog::EndMessage;
    440 	m_gl.clearNamedBufferData(buffer, internalformat, format, type, data);
    441 }
    442 
    443 void CallLogWrapper::glClearNamedBufferDataEXT (glw::GLuint buffer, glw::GLenum internalformat, glw::GLenum format, glw::GLenum type, const void *data)
    444 {
    445 	if (m_enableLog)
    446 		m_log << TestLog::Message << "glClearNamedBufferDataEXT(" << buffer << ", " << toHex(internalformat) << ", " << toHex(format) << ", " << toHex(type) << ", " << data << ");" << TestLog::EndMessage;
    447 	m_gl.clearNamedBufferDataEXT(buffer, internalformat, format, type, data);
    448 }
    449 
    450 void CallLogWrapper::glClearNamedBufferSubData (glw::GLuint buffer, glw::GLenum internalformat, glw::GLintptr offset, glw::GLsizeiptr size, glw::GLenum format, glw::GLenum type, const void *data)
    451 {
    452 	if (m_enableLog)
    453 		m_log << TestLog::Message << "glClearNamedBufferSubData(" << buffer << ", " << toHex(internalformat) << ", " << offset << ", " << size << ", " << toHex(format) << ", " << toHex(type) << ", " << data << ");" << TestLog::EndMessage;
    454 	m_gl.clearNamedBufferSubData(buffer, internalformat, offset, size, format, type, data);
    455 }
    456 
    457 void CallLogWrapper::glClearNamedBufferSubDataEXT (glw::GLuint buffer, glw::GLenum internalformat, glw::GLsizeiptr offset, glw::GLsizeiptr size, glw::GLenum format, glw::GLenum type, const void *data)
    458 {
    459 	if (m_enableLog)
    460 		m_log << TestLog::Message << "glClearNamedBufferSubDataEXT(" << buffer << ", " << toHex(internalformat) << ", " << offset << ", " << size << ", " << toHex(format) << ", " << toHex(type) << ", " << data << ");" << TestLog::EndMessage;
    461 	m_gl.clearNamedBufferSubDataEXT(buffer, internalformat, offset, size, format, type, data);
    462 }
    463 
    464 void CallLogWrapper::glClearNamedFramebufferfi (glw::GLuint framebuffer, glw::GLenum buffer, glw::GLint drawbuffer, glw::GLfloat depth, glw::GLint stencil)
    465 {
    466 	if (m_enableLog)
    467 		m_log << TestLog::Message << "glClearNamedFramebufferfi(" << framebuffer << ", " << toHex(buffer) << ", " << drawbuffer << ", " << depth << ", " << stencil << ");" << TestLog::EndMessage;
    468 	m_gl.clearNamedFramebufferfi(framebuffer, buffer, drawbuffer, depth, stencil);
    469 }
    470 
    471 void CallLogWrapper::glClearNamedFramebufferfv (glw::GLuint framebuffer, glw::GLenum buffer, glw::GLint drawbuffer, const glw::GLfloat *value)
    472 {
    473 	if (m_enableLog)
    474 		m_log << TestLog::Message << "glClearNamedFramebufferfv(" << framebuffer << ", " << toHex(buffer) << ", " << drawbuffer << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
    475 	m_gl.clearNamedFramebufferfv(framebuffer, buffer, drawbuffer, value);
    476 }
    477 
    478 void CallLogWrapper::glClearNamedFramebufferiv (glw::GLuint framebuffer, glw::GLenum buffer, glw::GLint drawbuffer, const glw::GLint *value)
    479 {
    480 	if (m_enableLog)
    481 		m_log << TestLog::Message << "glClearNamedFramebufferiv(" << framebuffer << ", " << toHex(buffer) << ", " << drawbuffer << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
    482 	m_gl.clearNamedFramebufferiv(framebuffer, buffer, drawbuffer, value);
    483 }
    484 
    485 void CallLogWrapper::glClearNamedFramebufferuiv (glw::GLuint framebuffer, glw::GLenum buffer, glw::GLint drawbuffer, const glw::GLuint *value)
    486 {
    487 	if (m_enableLog)
    488 		m_log << TestLog::Message << "glClearNamedFramebufferuiv(" << framebuffer << ", " << toHex(buffer) << ", " << drawbuffer << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
    489 	m_gl.clearNamedFramebufferuiv(framebuffer, buffer, drawbuffer, value);
    490 }
    491 
    492 void CallLogWrapper::glClearStencil (glw::GLint s)
    493 {
    494 	if (m_enableLog)
    495 		m_log << TestLog::Message << "glClearStencil(" << s << ");" << TestLog::EndMessage;
    496 	m_gl.clearStencil(s);
    497 }
    498 
    499 void CallLogWrapper::glClearTexImage (glw::GLuint texture, glw::GLint level, glw::GLenum format, glw::GLenum type, const void *data)
    500 {
    501 	if (m_enableLog)
    502 		m_log << TestLog::Message << "glClearTexImage(" << texture << ", " << level << ", " << toHex(format) << ", " << toHex(type) << ", " << data << ");" << TestLog::EndMessage;
    503 	m_gl.clearTexImage(texture, level, format, type, data);
    504 }
    505 
    506 void 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)
    507 {
    508 	if (m_enableLog)
    509 		m_log << TestLog::Message << "glClearTexSubImage(" << texture << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ", " << toHex(format) << ", " << toHex(type) << ", " << data << ");" << TestLog::EndMessage;
    510 	m_gl.clearTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, data);
    511 }
    512 
    513 void CallLogWrapper::glClientAttribDefaultEXT (glw::GLbitfield mask)
    514 {
    515 	if (m_enableLog)
    516 		m_log << TestLog::Message << "glClientAttribDefaultEXT(" << toHex(mask) << ");" << TestLog::EndMessage;
    517 	m_gl.clientAttribDefaultEXT(mask);
    518 }
    519 
    520 glw::GLenum CallLogWrapper::glClientWaitSync (glw::GLsync sync, glw::GLbitfield flags, glw::GLuint64 timeout)
    521 {
    522 	if (m_enableLog)
    523 		m_log << TestLog::Message << "glClientWaitSync(" << sync << ", " << toHex(flags) << ", " << timeout << ");" << TestLog::EndMessage;
    524 	glw::GLenum returnValue = m_gl.clientWaitSync(sync, flags, timeout);
    525 	if (m_enableLog)
    526 		m_log << TestLog::Message << "// " << toHex(returnValue) << " returned" << TestLog::EndMessage;
    527 	return returnValue;
    528 }
    529 
    530 void CallLogWrapper::glClipControl (glw::GLenum origin, glw::GLenum depth)
    531 {
    532 	if (m_enableLog)
    533 		m_log << TestLog::Message << "glClipControl(" << toHex(origin) << ", " << toHex(depth) << ");" << TestLog::EndMessage;
    534 	m_gl.clipControl(origin, depth);
    535 }
    536 
    537 void CallLogWrapper::glColorMask (glw::GLboolean red, glw::GLboolean green, glw::GLboolean blue, glw::GLboolean alpha)
    538 {
    539 	if (m_enableLog)
    540 		m_log << TestLog::Message << "glColorMask(" << getBooleanStr(red) << ", " << getBooleanStr(green) << ", " << getBooleanStr(blue) << ", " << getBooleanStr(alpha) << ");" << TestLog::EndMessage;
    541 	m_gl.colorMask(red, green, blue, alpha);
    542 }
    543 
    544 void CallLogWrapper::glColorMaski (glw::GLuint index, glw::GLboolean r, glw::GLboolean g, glw::GLboolean b, glw::GLboolean a)
    545 {
    546 	if (m_enableLog)
    547 		m_log << TestLog::Message << "glColorMaski(" << index << ", " << getBooleanStr(r) << ", " << getBooleanStr(g) << ", " << getBooleanStr(b) << ", " << getBooleanStr(a) << ");" << TestLog::EndMessage;
    548 	m_gl.colorMaski(index, r, g, b, a);
    549 }
    550 
    551 void CallLogWrapper::glCompileShader (glw::GLuint shader)
    552 {
    553 	if (m_enableLog)
    554 		m_log << TestLog::Message << "glCompileShader(" << shader << ");" << TestLog::EndMessage;
    555 	m_gl.compileShader(shader);
    556 }
    557 
    558 void CallLogWrapper::glCompressedMultiTexImage1DEXT (glw::GLenum texunit, glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLsizei width, glw::GLint border, glw::GLsizei imageSize, const void *bits)
    559 {
    560 	if (m_enableLog)
    561 		m_log << TestLog::Message << "glCompressedMultiTexImage1DEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << level << ", " << toHex(internalformat) << ", " << width << ", " << border << ", " << imageSize << ", " << bits << ");" << TestLog::EndMessage;
    562 	m_gl.compressedMultiTexImage1DEXT(texunit, target, level, internalformat, width, border, imageSize, bits);
    563 }
    564 
    565 void CallLogWrapper::glCompressedMultiTexImage2DEXT (glw::GLenum texunit, glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLint border, glw::GLsizei imageSize, const void *bits)
    566 {
    567 	if (m_enableLog)
    568 		m_log << TestLog::Message << "glCompressedMultiTexImage2DEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << level << ", " << toHex(internalformat) << ", " << width << ", " << height << ", " << border << ", " << imageSize << ", " << bits << ");" << TestLog::EndMessage;
    569 	m_gl.compressedMultiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, imageSize, bits);
    570 }
    571 
    572 void CallLogWrapper::glCompressedMultiTexImage3DEXT (glw::GLenum texunit, 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 *bits)
    573 {
    574 	if (m_enableLog)
    575 		m_log << TestLog::Message << "glCompressedMultiTexImage3DEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << level << ", " << toHex(internalformat) << ", " << width << ", " << height << ", " << depth << ", " << border << ", " << imageSize << ", " << bits << ");" << TestLog::EndMessage;
    576 	m_gl.compressedMultiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, imageSize, bits);
    577 }
    578 
    579 void CallLogWrapper::glCompressedMultiTexSubImage1DEXT (glw::GLenum texunit, glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLsizei width, glw::GLenum format, glw::GLsizei imageSize, const void *bits)
    580 {
    581 	if (m_enableLog)
    582 		m_log << TestLog::Message << "glCompressedMultiTexSubImage1DEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << level << ", " << xoffset << ", " << width << ", " << toHex(format) << ", " << imageSize << ", " << bits << ");" << TestLog::EndMessage;
    583 	m_gl.compressedMultiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, imageSize, bits);
    584 }
    585 
    586 void CallLogWrapper::glCompressedMultiTexSubImage2DEXT (glw::GLenum texunit, 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 *bits)
    587 {
    588 	if (m_enableLog)
    589 		m_log << TestLog::Message << "glCompressedMultiTexSubImage2DEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << width << ", " << height << ", " << toHex(format) << ", " << imageSize << ", " << bits << ");" << TestLog::EndMessage;
    590 	m_gl.compressedMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, imageSize, bits);
    591 }
    592 
    593 void CallLogWrapper::glCompressedMultiTexSubImage3DEXT (glw::GLenum texunit, 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 *bits)
    594 {
    595 	if (m_enableLog)
    596 		m_log << TestLog::Message << "glCompressedMultiTexSubImage3DEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ", " << toHex(format) << ", " << imageSize << ", " << bits << ");" << TestLog::EndMessage;
    597 	m_gl.compressedMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits);
    598 }
    599 
    600 void CallLogWrapper::glCompressedTexImage1D (glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLsizei width, glw::GLint border, glw::GLsizei imageSize, const void *data)
    601 {
    602 	if (m_enableLog)
    603 		m_log << TestLog::Message << "glCompressedTexImage1D(" << toHex(target) << ", " << level << ", " << toHex(internalformat) << ", " << width << ", " << border << ", " << imageSize << ", " << data << ");" << TestLog::EndMessage;
    604 	m_gl.compressedTexImage1D(target, level, internalformat, width, border, imageSize, data);
    605 }
    606 
    607 void 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)
    608 {
    609 	if (m_enableLog)
    610 		m_log << TestLog::Message << "glCompressedTexImage2D(" << getTextureTargetStr(target) << ", " << level << ", " << getCompressedTextureFormatStr(internalformat) << ", " << width << ", " << height << ", " << border << ", " << imageSize << ", " << data << ");" << TestLog::EndMessage;
    611 	m_gl.compressedTexImage2D(target, level, internalformat, width, height, border, imageSize, data);
    612 }
    613 
    614 void 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)
    615 {
    616 	if (m_enableLog)
    617 		m_log << TestLog::Message << "glCompressedTexImage3D(" << getTextureTargetStr(target) << ", " << level << ", " << getCompressedTextureFormatStr(internalformat) << ", " << width << ", " << height << ", " << depth << ", " << border << ", " << imageSize << ", " << data << ");" << TestLog::EndMessage;
    618 	m_gl.compressedTexImage3D(target, level, internalformat, width, height, depth, border, imageSize, data);
    619 }
    620 
    621 void CallLogWrapper::glCompressedTexImage3DOES (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)
    622 {
    623 	if (m_enableLog)
    624 		m_log << TestLog::Message << "glCompressedTexImage3DOES(" << toHex(target) << ", " << level << ", " << toHex(internalformat) << ", " << width << ", " << height << ", " << depth << ", " << border << ", " << imageSize << ", " << data << ");" << TestLog::EndMessage;
    625 	m_gl.compressedTexImage3DOES(target, level, internalformat, width, height, depth, border, imageSize, data);
    626 }
    627 
    628 void CallLogWrapper::glCompressedTexSubImage1D (glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLsizei width, glw::GLenum format, glw::GLsizei imageSize, const void *data)
    629 {
    630 	if (m_enableLog)
    631 		m_log << TestLog::Message << "glCompressedTexSubImage1D(" << toHex(target) << ", " << level << ", " << xoffset << ", " << width << ", " << toHex(format) << ", " << imageSize << ", " << data << ");" << TestLog::EndMessage;
    632 	m_gl.compressedTexSubImage1D(target, level, xoffset, width, format, imageSize, data);
    633 }
    634 
    635 void 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)
    636 {
    637 	if (m_enableLog)
    638 		m_log << TestLog::Message << "glCompressedTexSubImage2D(" << getTextureTargetStr(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << width << ", " << height << ", " << getCompressedTextureFormatStr(format) << ", " << imageSize << ", " << data << ");" << TestLog::EndMessage;
    639 	m_gl.compressedTexSubImage2D(target, level, xoffset, yoffset, width, height, format, imageSize, data);
    640 }
    641 
    642 void 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)
    643 {
    644 	if (m_enableLog)
    645 		m_log << TestLog::Message << "glCompressedTexSubImage3D(" << getTextureTargetStr(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ", " << getCompressedTextureFormatStr(format) << ", " << imageSize << ", " << data << ");" << TestLog::EndMessage;
    646 	m_gl.compressedTexSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
    647 }
    648 
    649 void CallLogWrapper::glCompressedTexSubImage3DOES (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)
    650 {
    651 	if (m_enableLog)
    652 		m_log << TestLog::Message << "glCompressedTexSubImage3DOES(" << toHex(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ", " << toHex(format) << ", " << imageSize << ", " << data << ");" << TestLog::EndMessage;
    653 	m_gl.compressedTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
    654 }
    655 
    656 void CallLogWrapper::glCompressedTextureImage1DEXT (glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLsizei width, glw::GLint border, glw::GLsizei imageSize, const void *bits)
    657 {
    658 	if (m_enableLog)
    659 		m_log << TestLog::Message << "glCompressedTextureImage1DEXT(" << texture << ", " << toHex(target) << ", " << level << ", " << toHex(internalformat) << ", " << width << ", " << border << ", " << imageSize << ", " << bits << ");" << TestLog::EndMessage;
    660 	m_gl.compressedTextureImage1DEXT(texture, target, level, internalformat, width, border, imageSize, bits);
    661 }
    662 
    663 void CallLogWrapper::glCompressedTextureImage2DEXT (glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLint border, glw::GLsizei imageSize, const void *bits)
    664 {
    665 	if (m_enableLog)
    666 		m_log << TestLog::Message << "glCompressedTextureImage2DEXT(" << texture << ", " << toHex(target) << ", " << level << ", " << toHex(internalformat) << ", " << width << ", " << height << ", " << border << ", " << imageSize << ", " << bits << ");" << TestLog::EndMessage;
    667 	m_gl.compressedTextureImage2DEXT(texture, target, level, internalformat, width, height, border, imageSize, bits);
    668 }
    669 
    670 void CallLogWrapper::glCompressedTextureImage3DEXT (glw::GLuint texture, 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 *bits)
    671 {
    672 	if (m_enableLog)
    673 		m_log << TestLog::Message << "glCompressedTextureImage3DEXT(" << texture << ", " << toHex(target) << ", " << level << ", " << toHex(internalformat) << ", " << width << ", " << height << ", " << depth << ", " << border << ", " << imageSize << ", " << bits << ");" << TestLog::EndMessage;
    674 	m_gl.compressedTextureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, imageSize, bits);
    675 }
    676 
    677 void CallLogWrapper::glCompressedTextureSubImage1D (glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLsizei width, glw::GLenum format, glw::GLsizei imageSize, const void *data)
    678 {
    679 	if (m_enableLog)
    680 		m_log << TestLog::Message << "glCompressedTextureSubImage1D(" << texture << ", " << level << ", " << xoffset << ", " << width << ", " << toHex(format) << ", " << imageSize << ", " << data << ");" << TestLog::EndMessage;
    681 	m_gl.compressedTextureSubImage1D(texture, level, xoffset, width, format, imageSize, data);
    682 }
    683 
    684 void CallLogWrapper::glCompressedTextureSubImage1DEXT (glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLsizei width, glw::GLenum format, glw::GLsizei imageSize, const void *bits)
    685 {
    686 	if (m_enableLog)
    687 		m_log << TestLog::Message << "glCompressedTextureSubImage1DEXT(" << texture << ", " << toHex(target) << ", " << level << ", " << xoffset << ", " << width << ", " << toHex(format) << ", " << imageSize << ", " << bits << ");" << TestLog::EndMessage;
    688 	m_gl.compressedTextureSubImage1DEXT(texture, target, level, xoffset, width, format, imageSize, bits);
    689 }
    690 
    691 void 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)
    692 {
    693 	if (m_enableLog)
    694 		m_log << TestLog::Message << "glCompressedTextureSubImage2D(" << texture << ", " << level << ", " << xoffset << ", " << yoffset << ", " << width << ", " << height << ", " << toHex(format) << ", " << imageSize << ", " << data << ");" << TestLog::EndMessage;
    695 	m_gl.compressedTextureSubImage2D(texture, level, xoffset, yoffset, width, height, format, imageSize, data);
    696 }
    697 
    698 void CallLogWrapper::glCompressedTextureSubImage2DEXT (glw::GLuint texture, 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 *bits)
    699 {
    700 	if (m_enableLog)
    701 		m_log << TestLog::Message << "glCompressedTextureSubImage2DEXT(" << texture << ", " << toHex(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << width << ", " << height << ", " << toHex(format) << ", " << imageSize << ", " << bits << ");" << TestLog::EndMessage;
    702 	m_gl.compressedTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, imageSize, bits);
    703 }
    704 
    705 void 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)
    706 {
    707 	if (m_enableLog)
    708 		m_log << TestLog::Message << "glCompressedTextureSubImage3D(" << texture << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ", " << toHex(format) << ", " << imageSize << ", " << data << ");" << TestLog::EndMessage;
    709 	m_gl.compressedTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, data);
    710 }
    711 
    712 void CallLogWrapper::glCompressedTextureSubImage3DEXT (glw::GLuint texture, 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 *bits)
    713 {
    714 	if (m_enableLog)
    715 		m_log << TestLog::Message << "glCompressedTextureSubImage3DEXT(" << texture << ", " << toHex(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ", " << toHex(format) << ", " << imageSize << ", " << bits << ");" << TestLog::EndMessage;
    716 	m_gl.compressedTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, imageSize, bits);
    717 }
    718 
    719 void CallLogWrapper::glCopyBufferSubData (glw::GLenum readTarget, glw::GLenum writeTarget, glw::GLintptr readOffset, glw::GLintptr writeOffset, glw::GLsizeiptr size)
    720 {
    721 	if (m_enableLog)
    722 		m_log << TestLog::Message << "glCopyBufferSubData(" << toHex(readTarget) << ", " << toHex(writeTarget) << ", " << readOffset << ", " << writeOffset << ", " << size << ");" << TestLog::EndMessage;
    723 	m_gl.copyBufferSubData(readTarget, writeTarget, readOffset, writeOffset, size);
    724 }
    725 
    726 void 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)
    727 {
    728 	if (m_enableLog)
    729 		m_log << TestLog::Message << "glCopyImageSubData(" << srcName << ", " << toHex(srcTarget) << ", " << srcLevel << ", " << srcX << ", " << srcY << ", " << srcZ << ", " << dstName << ", " << toHex(dstTarget) << ", " << dstLevel << ", " << dstX << ", " << dstY << ", " << dstZ << ", " << srcWidth << ", " << srcHeight << ", " << srcDepth << ");" << TestLog::EndMessage;
    730 	m_gl.copyImageSubData(srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth);
    731 }
    732 
    733 void CallLogWrapper::glCopyMultiTexImage1DEXT (glw::GLenum texunit, glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLint border)
    734 {
    735 	if (m_enableLog)
    736 		m_log << TestLog::Message << "glCopyMultiTexImage1DEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << level << ", " << toHex(internalformat) << ", " << x << ", " << y << ", " << width << ", " << border << ");" << TestLog::EndMessage;
    737 	m_gl.copyMultiTexImage1DEXT(texunit, target, level, internalformat, x, y, width, border);
    738 }
    739 
    740 void CallLogWrapper::glCopyMultiTexImage2DEXT (glw::GLenum texunit, glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height, glw::GLint border)
    741 {
    742 	if (m_enableLog)
    743 		m_log << TestLog::Message << "glCopyMultiTexImage2DEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << level << ", " << toHex(internalformat) << ", " << x << ", " << y << ", " << width << ", " << height << ", " << border << ");" << TestLog::EndMessage;
    744 	m_gl.copyMultiTexImage2DEXT(texunit, target, level, internalformat, x, y, width, height, border);
    745 }
    746 
    747 void CallLogWrapper::glCopyMultiTexSubImage1DEXT (glw::GLenum texunit, glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint x, glw::GLint y, glw::GLsizei width)
    748 {
    749 	if (m_enableLog)
    750 		m_log << TestLog::Message << "glCopyMultiTexSubImage1DEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << level << ", " << xoffset << ", " << x << ", " << y << ", " << width << ");" << TestLog::EndMessage;
    751 	m_gl.copyMultiTexSubImage1DEXT(texunit, target, level, xoffset, x, y, width);
    752 }
    753 
    754 void CallLogWrapper::glCopyMultiTexSubImage2DEXT (glw::GLenum texunit, glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height)
    755 {
    756 	if (m_enableLog)
    757 		m_log << TestLog::Message << "glCopyMultiTexSubImage2DEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << x << ", " << y << ", " << width << ", " << height << ");" << TestLog::EndMessage;
    758 	m_gl.copyMultiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, x, y, width, height);
    759 }
    760 
    761 void CallLogWrapper::glCopyMultiTexSubImage3DEXT (glw::GLenum texunit, 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)
    762 {
    763 	if (m_enableLog)
    764 		m_log << TestLog::Message << "glCopyMultiTexSubImage3DEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << x << ", " << y << ", " << width << ", " << height << ");" << TestLog::EndMessage;
    765 	m_gl.copyMultiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, x, y, width, height);
    766 }
    767 
    768 void CallLogWrapper::glCopyNamedBufferSubData (glw::GLuint readBuffer, glw::GLuint writeBuffer, glw::GLintptr readOffset, glw::GLintptr writeOffset, glw::GLsizeiptr size)
    769 {
    770 	if (m_enableLog)
    771 		m_log << TestLog::Message << "glCopyNamedBufferSubData(" << readBuffer << ", " << writeBuffer << ", " << readOffset << ", " << writeOffset << ", " << size << ");" << TestLog::EndMessage;
    772 	m_gl.copyNamedBufferSubData(readBuffer, writeBuffer, readOffset, writeOffset, size);
    773 }
    774 
    775 void CallLogWrapper::glCopyTexImage1D (glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLint border)
    776 {
    777 	if (m_enableLog)
    778 		m_log << TestLog::Message << "glCopyTexImage1D(" << getTextureTargetStr(target) << ", " << level << ", " << getUncompressedTextureFormatStr(internalformat) << ", " << x << ", " << y << ", " << width << ", " << border << ");" << TestLog::EndMessage;
    779 	m_gl.copyTexImage1D(target, level, internalformat, x, y, width, border);
    780 }
    781 
    782 void 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)
    783 {
    784 	if (m_enableLog)
    785 		m_log << TestLog::Message << "glCopyTexImage2D(" << getTextureTargetStr(target) << ", " << level << ", " << getUncompressedTextureFormatStr(internalformat) << ", " << x << ", " << y << ", " << width << ", " << height << ", " << border << ");" << TestLog::EndMessage;
    786 	m_gl.copyTexImage2D(target, level, internalformat, x, y, width, height, border);
    787 }
    788 
    789 void CallLogWrapper::glCopyTexSubImage1D (glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint x, glw::GLint y, glw::GLsizei width)
    790 {
    791 	if (m_enableLog)
    792 		m_log << TestLog::Message << "glCopyTexSubImage1D(" << toHex(target) << ", " << level << ", " << xoffset << ", " << x << ", " << y << ", " << width << ");" << TestLog::EndMessage;
    793 	m_gl.copyTexSubImage1D(target, level, xoffset, x, y, width);
    794 }
    795 
    796 void 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)
    797 {
    798 	if (m_enableLog)
    799 		m_log << TestLog::Message << "glCopyTexSubImage2D(" << toHex(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << x << ", " << y << ", " << width << ", " << height << ");" << TestLog::EndMessage;
    800 	m_gl.copyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
    801 }
    802 
    803 void 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)
    804 {
    805 	if (m_enableLog)
    806 		m_log << TestLog::Message << "glCopyTexSubImage3D(" << toHex(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << x << ", " << y << ", " << width << ", " << height << ");" << TestLog::EndMessage;
    807 	m_gl.copyTexSubImage3D(target, level, xoffset, yoffset, zoffset, x, y, width, height);
    808 }
    809 
    810 void CallLogWrapper::glCopyTexSubImage3DOES (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)
    811 {
    812 	if (m_enableLog)
    813 		m_log << TestLog::Message << "glCopyTexSubImage3DOES(" << toHex(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << x << ", " << y << ", " << width << ", " << height << ");" << TestLog::EndMessage;
    814 	m_gl.copyTexSubImage3DOES(target, level, xoffset, yoffset, zoffset, x, y, width, height);
    815 }
    816 
    817 void CallLogWrapper::glCopyTextureImage1DEXT (glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLint border)
    818 {
    819 	if (m_enableLog)
    820 		m_log << TestLog::Message << "glCopyTextureImage1DEXT(" << texture << ", " << toHex(target) << ", " << level << ", " << toHex(internalformat) << ", " << x << ", " << y << ", " << width << ", " << border << ");" << TestLog::EndMessage;
    821 	m_gl.copyTextureImage1DEXT(texture, target, level, internalformat, x, y, width, border);
    822 }
    823 
    824 void CallLogWrapper::glCopyTextureImage2DEXT (glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height, glw::GLint border)
    825 {
    826 	if (m_enableLog)
    827 		m_log << TestLog::Message << "glCopyTextureImage2DEXT(" << texture << ", " << toHex(target) << ", " << level << ", " << toHex(internalformat) << ", " << x << ", " << y << ", " << width << ", " << height << ", " << border << ");" << TestLog::EndMessage;
    828 	m_gl.copyTextureImage2DEXT(texture, target, level, internalformat, x, y, width, height, border);
    829 }
    830 
    831 void CallLogWrapper::glCopyTextureSubImage1D (glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLint x, glw::GLint y, glw::GLsizei width)
    832 {
    833 	if (m_enableLog)
    834 		m_log << TestLog::Message << "glCopyTextureSubImage1D(" << texture << ", " << level << ", " << xoffset << ", " << x << ", " << y << ", " << width << ");" << TestLog::EndMessage;
    835 	m_gl.copyTextureSubImage1D(texture, level, xoffset, x, y, width);
    836 }
    837 
    838 void CallLogWrapper::glCopyTextureSubImage1DEXT (glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint x, glw::GLint y, glw::GLsizei width)
    839 {
    840 	if (m_enableLog)
    841 		m_log << TestLog::Message << "glCopyTextureSubImage1DEXT(" << texture << ", " << toHex(target) << ", " << level << ", " << xoffset << ", " << x << ", " << y << ", " << width << ");" << TestLog::EndMessage;
    842 	m_gl.copyTextureSubImage1DEXT(texture, target, level, xoffset, x, y, width);
    843 }
    844 
    845 void 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)
    846 {
    847 	if (m_enableLog)
    848 		m_log << TestLog::Message << "glCopyTextureSubImage2D(" << texture << ", " << level << ", " << xoffset << ", " << yoffset << ", " << x << ", " << y << ", " << width << ", " << height << ");" << TestLog::EndMessage;
    849 	m_gl.copyTextureSubImage2D(texture, level, xoffset, yoffset, x, y, width, height);
    850 }
    851 
    852 void CallLogWrapper::glCopyTextureSubImage2DEXT (glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLint yoffset, glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height)
    853 {
    854 	if (m_enableLog)
    855 		m_log << TestLog::Message << "glCopyTextureSubImage2DEXT(" << texture << ", " << toHex(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << x << ", " << y << ", " << width << ", " << height << ");" << TestLog::EndMessage;
    856 	m_gl.copyTextureSubImage2DEXT(texture, target, level, xoffset, yoffset, x, y, width, height);
    857 }
    858 
    859 void 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)
    860 {
    861 	if (m_enableLog)
    862 		m_log << TestLog::Message << "glCopyTextureSubImage3D(" << texture << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << x << ", " << y << ", " << width << ", " << height << ");" << TestLog::EndMessage;
    863 	m_gl.copyTextureSubImage3D(texture, level, xoffset, yoffset, zoffset, x, y, width, height);
    864 }
    865 
    866 void CallLogWrapper::glCopyTextureSubImage3DEXT (glw::GLuint texture, 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)
    867 {
    868 	if (m_enableLog)
    869 		m_log << TestLog::Message << "glCopyTextureSubImage3DEXT(" << texture << ", " << toHex(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << x << ", " << y << ", " << width << ", " << height << ");" << TestLog::EndMessage;
    870 	m_gl.copyTextureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, x, y, width, height);
    871 }
    872 
    873 void CallLogWrapper::glCreateBuffers (glw::GLsizei n, glw::GLuint *buffers)
    874 {
    875 	if (m_enableLog)
    876 		m_log << TestLog::Message << "glCreateBuffers(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(buffers))) << ");" << TestLog::EndMessage;
    877 	m_gl.createBuffers(n, buffers);
    878 }
    879 
    880 void CallLogWrapper::glCreateFramebuffers (glw::GLsizei n, glw::GLuint *framebuffers)
    881 {
    882 	if (m_enableLog)
    883 		m_log << TestLog::Message << "glCreateFramebuffers(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(framebuffers))) << ");" << TestLog::EndMessage;
    884 	m_gl.createFramebuffers(n, framebuffers);
    885 }
    886 
    887 glw::GLuint CallLogWrapper::glCreateProgram (void)
    888 {
    889 	if (m_enableLog)
    890 		m_log << TestLog::Message << "glCreateProgram(" << ");" << TestLog::EndMessage;
    891 	glw::GLuint returnValue = m_gl.createProgram();
    892 	if (m_enableLog)
    893 		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
    894 	return returnValue;
    895 }
    896 
    897 void CallLogWrapper::glCreateProgramPipelines (glw::GLsizei n, glw::GLuint *pipelines)
    898 {
    899 	if (m_enableLog)
    900 		m_log << TestLog::Message << "glCreateProgramPipelines(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(pipelines))) << ");" << TestLog::EndMessage;
    901 	m_gl.createProgramPipelines(n, pipelines);
    902 }
    903 
    904 void CallLogWrapper::glCreateQueries (glw::GLenum target, glw::GLsizei n, glw::GLuint *ids)
    905 {
    906 	if (m_enableLog)
    907 		m_log << TestLog::Message << "glCreateQueries(" << toHex(target) << ", " << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(ids))) << ");" << TestLog::EndMessage;
    908 	m_gl.createQueries(target, n, ids);
    909 }
    910 
    911 void CallLogWrapper::glCreateRenderbuffers (glw::GLsizei n, glw::GLuint *renderbuffers)
    912 {
    913 	if (m_enableLog)
    914 		m_log << TestLog::Message << "glCreateRenderbuffers(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(renderbuffers))) << ");" << TestLog::EndMessage;
    915 	m_gl.createRenderbuffers(n, renderbuffers);
    916 }
    917 
    918 void CallLogWrapper::glCreateSamplers (glw::GLsizei n, glw::GLuint *samplers)
    919 {
    920 	if (m_enableLog)
    921 		m_log << TestLog::Message << "glCreateSamplers(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(samplers))) << ");" << TestLog::EndMessage;
    922 	m_gl.createSamplers(n, samplers);
    923 }
    924 
    925 glw::GLuint CallLogWrapper::glCreateShader (glw::GLenum type)
    926 {
    927 	if (m_enableLog)
    928 		m_log << TestLog::Message << "glCreateShader(" << getShaderTypeStr(type) << ");" << TestLog::EndMessage;
    929 	glw::GLuint returnValue = m_gl.createShader(type);
    930 	if (m_enableLog)
    931 		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
    932 	return returnValue;
    933 }
    934 
    935 glw::GLuint CallLogWrapper::glCreateShaderProgramv (glw::GLenum type, glw::GLsizei count, const glw::GLchar *const*strings)
    936 {
    937 	if (m_enableLog)
    938 		m_log << TestLog::Message << "glCreateShaderProgramv(" << toHex(type) << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(strings))) << ");" << TestLog::EndMessage;
    939 	glw::GLuint returnValue = m_gl.createShaderProgramv(type, count, strings);
    940 	if (m_enableLog)
    941 		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
    942 	return returnValue;
    943 }
    944 
    945 void CallLogWrapper::glCreateTextures (glw::GLenum target, glw::GLsizei n, glw::GLuint *textures)
    946 {
    947 	if (m_enableLog)
    948 		m_log << TestLog::Message << "glCreateTextures(" << toHex(target) << ", " << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(textures))) << ");" << TestLog::EndMessage;
    949 	m_gl.createTextures(target, n, textures);
    950 }
    951 
    952 void CallLogWrapper::glCreateTransformFeedbacks (glw::GLsizei n, glw::GLuint *ids)
    953 {
    954 	if (m_enableLog)
    955 		m_log << TestLog::Message << "glCreateTransformFeedbacks(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(ids))) << ");" << TestLog::EndMessage;
    956 	m_gl.createTransformFeedbacks(n, ids);
    957 }
    958 
    959 void CallLogWrapper::glCreateVertexArrays (glw::GLsizei n, glw::GLuint *arrays)
    960 {
    961 	if (m_enableLog)
    962 		m_log << TestLog::Message << "glCreateVertexArrays(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(arrays))) << ");" << TestLog::EndMessage;
    963 	m_gl.createVertexArrays(n, arrays);
    964 }
    965 
    966 void CallLogWrapper::glCullFace (glw::GLenum mode)
    967 {
    968 	if (m_enableLog)
    969 		m_log << TestLog::Message << "glCullFace(" << getFaceStr(mode) << ");" << TestLog::EndMessage;
    970 	m_gl.cullFace(mode);
    971 }
    972 
    973 void CallLogWrapper::glDebugMessageCallback (glw::GLDEBUGPROC callback, const void *userParam)
    974 {
    975 	if (m_enableLog)
    976 		m_log << TestLog::Message << "glDebugMessageCallback(" << toHex(reinterpret_cast<deUintptr>(callback)) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(userParam))) << ");" << TestLog::EndMessage;
    977 	m_gl.debugMessageCallback(callback, userParam);
    978 }
    979 
    980 void CallLogWrapper::glDebugMessageControl (glw::GLenum source, glw::GLenum type, glw::GLenum severity, glw::GLsizei count, const glw::GLuint *ids, glw::GLboolean enabled)
    981 {
    982 	if (m_enableLog)
    983 		m_log << TestLog::Message << "glDebugMessageControl(" << getDebugMessageSourceStr(source) << ", " << getDebugMessageTypeStr(type) << ", " << getDebugMessageSeverityStr(severity) << ", " << count << ", " << getPointerStr(ids, (count)) << ", " << getBooleanStr(enabled) << ");" << TestLog::EndMessage;
    984 	m_gl.debugMessageControl(source, type, severity, count, ids, enabled);
    985 }
    986 
    987 void CallLogWrapper::glDebugMessageInsert (glw::GLenum source, glw::GLenum type, glw::GLuint id, glw::GLenum severity, glw::GLsizei length, const glw::GLchar *buf)
    988 {
    989 	if (m_enableLog)
    990 		m_log << TestLog::Message << "glDebugMessageInsert(" << getDebugMessageSourceStr(source) << ", " << getDebugMessageTypeStr(type) << ", " << id << ", " << getDebugMessageSeverityStr(severity) << ", " << length << ", " << getStringStr(buf) << ");" << TestLog::EndMessage;
    991 	m_gl.debugMessageInsert(source, type, id, severity, length, buf);
    992 }
    993 
    994 void CallLogWrapper::glDeleteBuffers (glw::GLsizei n, const glw::GLuint *buffers)
    995 {
    996 	if (m_enableLog)
    997 		m_log << TestLog::Message << "glDeleteBuffers(" << n << ", " << getPointerStr(buffers, n) << ");" << TestLog::EndMessage;
    998 	m_gl.deleteBuffers(n, buffers);
    999 }
   1000 
   1001 void CallLogWrapper::glDeleteFramebuffers (glw::GLsizei n, const glw::GLuint *framebuffers)
   1002 {
   1003 	if (m_enableLog)
   1004 		m_log << TestLog::Message << "glDeleteFramebuffers(" << n << ", " << getPointerStr(framebuffers, n) << ");" << TestLog::EndMessage;
   1005 	m_gl.deleteFramebuffers(n, framebuffers);
   1006 }
   1007 
   1008 void CallLogWrapper::glDeleteProgram (glw::GLuint program)
   1009 {
   1010 	if (m_enableLog)
   1011 		m_log << TestLog::Message << "glDeleteProgram(" << program << ");" << TestLog::EndMessage;
   1012 	m_gl.deleteProgram(program);
   1013 }
   1014 
   1015 void CallLogWrapper::glDeleteProgramPipelines (glw::GLsizei n, const glw::GLuint *pipelines)
   1016 {
   1017 	if (m_enableLog)
   1018 		m_log << TestLog::Message << "glDeleteProgramPipelines(" << n << ", " << getPointerStr(pipelines, n) << ");" << TestLog::EndMessage;
   1019 	m_gl.deleteProgramPipelines(n, pipelines);
   1020 }
   1021 
   1022 void CallLogWrapper::glDeleteQueries (glw::GLsizei n, const glw::GLuint *ids)
   1023 {
   1024 	if (m_enableLog)
   1025 		m_log << TestLog::Message << "glDeleteQueries(" << n << ", " << getPointerStr(ids, n) << ");" << TestLog::EndMessage;
   1026 	m_gl.deleteQueries(n, ids);
   1027 }
   1028 
   1029 void CallLogWrapper::glDeleteRenderbuffers (glw::GLsizei n, const glw::GLuint *renderbuffers)
   1030 {
   1031 	if (m_enableLog)
   1032 		m_log << TestLog::Message << "glDeleteRenderbuffers(" << n << ", " << getPointerStr(renderbuffers, n) << ");" << TestLog::EndMessage;
   1033 	m_gl.deleteRenderbuffers(n, renderbuffers);
   1034 }
   1035 
   1036 void CallLogWrapper::glDeleteSamplers (glw::GLsizei count, const glw::GLuint *samplers)
   1037 {
   1038 	if (m_enableLog)
   1039 		m_log << TestLog::Message << "glDeleteSamplers(" << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(samplers))) << ");" << TestLog::EndMessage;
   1040 	m_gl.deleteSamplers(count, samplers);
   1041 }
   1042 
   1043 void CallLogWrapper::glDeleteShader (glw::GLuint shader)
   1044 {
   1045 	if (m_enableLog)
   1046 		m_log << TestLog::Message << "glDeleteShader(" << shader << ");" << TestLog::EndMessage;
   1047 	m_gl.deleteShader(shader);
   1048 }
   1049 
   1050 void CallLogWrapper::glDeleteSync (glw::GLsync sync)
   1051 {
   1052 	if (m_enableLog)
   1053 		m_log << TestLog::Message << "glDeleteSync(" << sync << ");" << TestLog::EndMessage;
   1054 	m_gl.deleteSync(sync);
   1055 }
   1056 
   1057 void CallLogWrapper::glDeleteTextures (glw::GLsizei n, const glw::GLuint *textures)
   1058 {
   1059 	if (m_enableLog)
   1060 		m_log << TestLog::Message << "glDeleteTextures(" << n << ", " << getPointerStr(textures, n) << ");" << TestLog::EndMessage;
   1061 	m_gl.deleteTextures(n, textures);
   1062 }
   1063 
   1064 void CallLogWrapper::glDeleteTransformFeedbacks (glw::GLsizei n, const glw::GLuint *ids)
   1065 {
   1066 	if (m_enableLog)
   1067 		m_log << TestLog::Message << "glDeleteTransformFeedbacks(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(ids))) << ");" << TestLog::EndMessage;
   1068 	m_gl.deleteTransformFeedbacks(n, ids);
   1069 }
   1070 
   1071 void CallLogWrapper::glDeleteVertexArrays (glw::GLsizei n, const glw::GLuint *arrays)
   1072 {
   1073 	if (m_enableLog)
   1074 		m_log << TestLog::Message << "glDeleteVertexArrays(" << n << ", " << getPointerStr(arrays, n) << ");" << TestLog::EndMessage;
   1075 	m_gl.deleteVertexArrays(n, arrays);
   1076 }
   1077 
   1078 void CallLogWrapper::glDepthBoundsEXT (glw::GLclampd zmin, glw::GLclampd zmax)
   1079 {
   1080 	if (m_enableLog)
   1081 		m_log << TestLog::Message << "glDepthBoundsEXT(" << zmin << ", " << zmax << ");" << TestLog::EndMessage;
   1082 	m_gl.depthBoundsEXT(zmin, zmax);
   1083 }
   1084 
   1085 void CallLogWrapper::glDepthFunc (glw::GLenum func)
   1086 {
   1087 	if (m_enableLog)
   1088 		m_log << TestLog::Message << "glDepthFunc(" << getCompareFuncStr(func) << ");" << TestLog::EndMessage;
   1089 	m_gl.depthFunc(func);
   1090 }
   1091 
   1092 void CallLogWrapper::glDepthMask (glw::GLboolean flag)
   1093 {
   1094 	if (m_enableLog)
   1095 		m_log << TestLog::Message << "glDepthMask(" << getBooleanStr(flag) << ");" << TestLog::EndMessage;
   1096 	m_gl.depthMask(flag);
   1097 }
   1098 
   1099 void CallLogWrapper::glDepthRange (glw::GLdouble n, glw::GLdouble f)
   1100 {
   1101 	if (m_enableLog)
   1102 		m_log << TestLog::Message << "glDepthRange(" << n << ", " << f << ");" << TestLog::EndMessage;
   1103 	m_gl.depthRange(n, f);
   1104 }
   1105 
   1106 void CallLogWrapper::glDepthRangeArrayfvOES (glw::GLuint first, glw::GLsizei count, const glw::GLfloat *v)
   1107 {
   1108 	if (m_enableLog)
   1109 		m_log << TestLog::Message << "glDepthRangeArrayfvOES(" << first << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(v))) << ");" << TestLog::EndMessage;
   1110 	m_gl.depthRangeArrayfvOES(first, count, v);
   1111 }
   1112 
   1113 void CallLogWrapper::glDepthRangeArrayv (glw::GLuint first, glw::GLsizei count, const glw::GLdouble *v)
   1114 {
   1115 	if (m_enableLog)
   1116 		m_log << TestLog::Message << "glDepthRangeArrayv(" << first << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(v))) << ");" << TestLog::EndMessage;
   1117 	m_gl.depthRangeArrayv(first, count, v);
   1118 }
   1119 
   1120 void CallLogWrapper::glDepthRangeIndexed (glw::GLuint index, glw::GLdouble n, glw::GLdouble f)
   1121 {
   1122 	if (m_enableLog)
   1123 		m_log << TestLog::Message << "glDepthRangeIndexed(" << index << ", " << n << ", " << f << ");" << TestLog::EndMessage;
   1124 	m_gl.depthRangeIndexed(index, n, f);
   1125 }
   1126 
   1127 void CallLogWrapper::glDepthRangeIndexedfOES (glw::GLuint index, glw::GLfloat n, glw::GLfloat f)
   1128 {
   1129 	if (m_enableLog)
   1130 		m_log << TestLog::Message << "glDepthRangeIndexedfOES(" << index << ", " << n << ", " << f << ");" << TestLog::EndMessage;
   1131 	m_gl.depthRangeIndexedfOES(index, n, f);
   1132 }
   1133 
   1134 void CallLogWrapper::glDepthRangef (glw::GLfloat n, glw::GLfloat f)
   1135 {
   1136 	if (m_enableLog)
   1137 		m_log << TestLog::Message << "glDepthRangef(" << n << ", " << f << ");" << TestLog::EndMessage;
   1138 	m_gl.depthRangef(n, f);
   1139 }
   1140 
   1141 void CallLogWrapper::glDetachShader (glw::GLuint program, glw::GLuint shader)
   1142 {
   1143 	if (m_enableLog)
   1144 		m_log << TestLog::Message << "glDetachShader(" << program << ", " << shader << ");" << TestLog::EndMessage;
   1145 	m_gl.detachShader(program, shader);
   1146 }
   1147 
   1148 void CallLogWrapper::glDisable (glw::GLenum cap)
   1149 {
   1150 	if (m_enableLog)
   1151 		m_log << TestLog::Message << "glDisable(" << getEnableCapStr(cap) << ");" << TestLog::EndMessage;
   1152 	m_gl.disable(cap);
   1153 }
   1154 
   1155 void CallLogWrapper::glDisableClientStateIndexedEXT (glw::GLenum array, glw::GLuint index)
   1156 {
   1157 	if (m_enableLog)
   1158 		m_log << TestLog::Message << "glDisableClientStateIndexedEXT(" << toHex(array) << ", " << index << ");" << TestLog::EndMessage;
   1159 	m_gl.disableClientStateIndexedEXT(array, index);
   1160 }
   1161 
   1162 void CallLogWrapper::glDisableClientStateiEXT (glw::GLenum array, glw::GLuint index)
   1163 {
   1164 	if (m_enableLog)
   1165 		m_log << TestLog::Message << "glDisableClientStateiEXT(" << toHex(array) << ", " << index << ");" << TestLog::EndMessage;
   1166 	m_gl.disableClientStateiEXT(array, index);
   1167 }
   1168 
   1169 void CallLogWrapper::glDisableVertexArrayAttrib (glw::GLuint vaobj, glw::GLuint index)
   1170 {
   1171 	if (m_enableLog)
   1172 		m_log << TestLog::Message << "glDisableVertexArrayAttrib(" << vaobj << ", " << index << ");" << TestLog::EndMessage;
   1173 	m_gl.disableVertexArrayAttrib(vaobj, index);
   1174 }
   1175 
   1176 void CallLogWrapper::glDisableVertexArrayAttribEXT (glw::GLuint vaobj, glw::GLuint index)
   1177 {
   1178 	if (m_enableLog)
   1179 		m_log << TestLog::Message << "glDisableVertexArrayAttribEXT(" << vaobj << ", " << index << ");" << TestLog::EndMessage;
   1180 	m_gl.disableVertexArrayAttribEXT(vaobj, index);
   1181 }
   1182 
   1183 void CallLogWrapper::glDisableVertexArrayEXT (glw::GLuint vaobj, glw::GLenum array)
   1184 {
   1185 	if (m_enableLog)
   1186 		m_log << TestLog::Message << "glDisableVertexArrayEXT(" << vaobj << ", " << toHex(array) << ");" << TestLog::EndMessage;
   1187 	m_gl.disableVertexArrayEXT(vaobj, array);
   1188 }
   1189 
   1190 void CallLogWrapper::glDisableVertexAttribArray (glw::GLuint index)
   1191 {
   1192 	if (m_enableLog)
   1193 		m_log << TestLog::Message << "glDisableVertexAttribArray(" << index << ");" << TestLog::EndMessage;
   1194 	m_gl.disableVertexAttribArray(index);
   1195 }
   1196 
   1197 void CallLogWrapper::glDisablei (glw::GLenum target, glw::GLuint index)
   1198 {
   1199 	if (m_enableLog)
   1200 		m_log << TestLog::Message << "glDisablei(" << getIndexedEnableCapStr(target) << ", " << index << ");" << TestLog::EndMessage;
   1201 	m_gl.disablei(target, index);
   1202 }
   1203 
   1204 void CallLogWrapper::glDispatchCompute (glw::GLuint num_groups_x, glw::GLuint num_groups_y, glw::GLuint num_groups_z)
   1205 {
   1206 	if (m_enableLog)
   1207 		m_log << TestLog::Message << "glDispatchCompute(" << num_groups_x << ", " << num_groups_y << ", " << num_groups_z << ");" << TestLog::EndMessage;
   1208 	m_gl.dispatchCompute(num_groups_x, num_groups_y, num_groups_z);
   1209 }
   1210 
   1211 void CallLogWrapper::glDispatchComputeIndirect (glw::GLintptr indirect)
   1212 {
   1213 	if (m_enableLog)
   1214 		m_log << TestLog::Message << "glDispatchComputeIndirect(" << indirect << ");" << TestLog::EndMessage;
   1215 	m_gl.dispatchComputeIndirect(indirect);
   1216 }
   1217 
   1218 void CallLogWrapper::glDrawArrays (glw::GLenum mode, glw::GLint first, glw::GLsizei count)
   1219 {
   1220 	if (m_enableLog)
   1221 		m_log << TestLog::Message << "glDrawArrays(" << getPrimitiveTypeStr(mode) << ", " << first << ", " << count << ");" << TestLog::EndMessage;
   1222 	m_gl.drawArrays(mode, first, count);
   1223 }
   1224 
   1225 void CallLogWrapper::glDrawArraysIndirect (glw::GLenum mode, const void *indirect)
   1226 {
   1227 	if (m_enableLog)
   1228 		m_log << TestLog::Message << "glDrawArraysIndirect(" << getPrimitiveTypeStr(mode) << ", " << indirect << ");" << TestLog::EndMessage;
   1229 	m_gl.drawArraysIndirect(mode, indirect);
   1230 }
   1231 
   1232 void CallLogWrapper::glDrawArraysInstanced (glw::GLenum mode, glw::GLint first, glw::GLsizei count, glw::GLsizei instancecount)
   1233 {
   1234 	if (m_enableLog)
   1235 		m_log << TestLog::Message << "glDrawArraysInstanced(" << getPrimitiveTypeStr(mode) << ", " << first << ", " << count << ", " << instancecount << ");" << TestLog::EndMessage;
   1236 	m_gl.drawArraysInstanced(mode, first, count, instancecount);
   1237 }
   1238 
   1239 void CallLogWrapper::glDrawArraysInstancedBaseInstance (glw::GLenum mode, glw::GLint first, glw::GLsizei count, glw::GLsizei instancecount, glw::GLuint baseinstance)
   1240 {
   1241 	if (m_enableLog)
   1242 		m_log << TestLog::Message << "glDrawArraysInstancedBaseInstance(" << toHex(mode) << ", " << first << ", " << count << ", " << instancecount << ", " << baseinstance << ");" << TestLog::EndMessage;
   1243 	m_gl.drawArraysInstancedBaseInstance(mode, first, count, instancecount, baseinstance);
   1244 }
   1245 
   1246 void CallLogWrapper::glDrawBuffer (glw::GLenum buf)
   1247 {
   1248 	if (m_enableLog)
   1249 		m_log << TestLog::Message << "glDrawBuffer(" << toHex(buf) << ");" << TestLog::EndMessage;
   1250 	m_gl.drawBuffer(buf);
   1251 }
   1252 
   1253 void CallLogWrapper::glDrawBuffers (glw::GLsizei n, const glw::GLenum *bufs)
   1254 {
   1255 	if (m_enableLog)
   1256 		m_log << TestLog::Message << "glDrawBuffers(" << n << ", " << getEnumPointerStr(bufs, n, getDrawReadBufferName) << ");" << TestLog::EndMessage;
   1257 	m_gl.drawBuffers(n, bufs);
   1258 }
   1259 
   1260 void CallLogWrapper::glDrawElements (glw::GLenum mode, glw::GLsizei count, glw::GLenum type, const void *indices)
   1261 {
   1262 	if (m_enableLog)
   1263 		m_log << TestLog::Message << "glDrawElements(" << getPrimitiveTypeStr(mode) << ", " << count << ", " << getTypeStr(type) << ", " << indices << ");" << TestLog::EndMessage;
   1264 	m_gl.drawElements(mode, count, type, indices);
   1265 }
   1266 
   1267 void CallLogWrapper::glDrawElementsBaseVertex (glw::GLenum mode, glw::GLsizei count, glw::GLenum type, const void *indices, glw::GLint basevertex)
   1268 {
   1269 	if (m_enableLog)
   1270 		m_log << TestLog::Message << "glDrawElementsBaseVertex(" << getPrimitiveTypeStr(mode) << ", " << count << ", " << getTypeStr(type) << ", " << indices << ", " << basevertex << ");" << TestLog::EndMessage;
   1271 	m_gl.drawElementsBaseVertex(mode, count, type, indices, basevertex);
   1272 }
   1273 
   1274 void CallLogWrapper::glDrawElementsIndirect (glw::GLenum mode, glw::GLenum type, const void *indirect)
   1275 {
   1276 	if (m_enableLog)
   1277 		m_log << TestLog::Message << "glDrawElementsIndirect(" << getPrimitiveTypeStr(mode) << ", " << getTypeStr(type) << ", " << indirect << ");" << TestLog::EndMessage;
   1278 	m_gl.drawElementsIndirect(mode, type, indirect);
   1279 }
   1280 
   1281 void CallLogWrapper::glDrawElementsInstanced (glw::GLenum mode, glw::GLsizei count, glw::GLenum type, const void *indices, glw::GLsizei instancecount)
   1282 {
   1283 	if (m_enableLog)
   1284 		m_log << TestLog::Message << "glDrawElementsInstanced(" << getPrimitiveTypeStr(mode) << ", " << count << ", " << getTypeStr(type) << ", " << indices << ", " << instancecount << ");" << TestLog::EndMessage;
   1285 	m_gl.drawElementsInstanced(mode, count, type, indices, instancecount);
   1286 }
   1287 
   1288 void CallLogWrapper::glDrawElementsInstancedBaseInstance (glw::GLenum mode, glw::GLsizei count, glw::GLenum type, const void *indices, glw::GLsizei instancecount, glw::GLuint baseinstance)
   1289 {
   1290 	if (m_enableLog)
   1291 		m_log << TestLog::Message << "glDrawElementsInstancedBaseInstance(" << toHex(mode) << ", " << count << ", " << toHex(type) << ", " << indices << ", " << instancecount << ", " << baseinstance << ");" << TestLog::EndMessage;
   1292 	m_gl.drawElementsInstancedBaseInstance(mode, count, type, indices, instancecount, baseinstance);
   1293 }
   1294 
   1295 void CallLogWrapper::glDrawElementsInstancedBaseVertex (glw::GLenum mode, glw::GLsizei count, glw::GLenum type, const void *indices, glw::GLsizei instancecount, glw::GLint basevertex)
   1296 {
   1297 	if (m_enableLog)
   1298 		m_log << TestLog::Message << "glDrawElementsInstancedBaseVertex(" << getPrimitiveTypeStr(mode) << ", " << count << ", " << getTypeStr(type) << ", " << indices << ", " << instancecount << ", " << basevertex << ");" << TestLog::EndMessage;
   1299 	m_gl.drawElementsInstancedBaseVertex(mode, count, type, indices, instancecount, basevertex);
   1300 }
   1301 
   1302 void CallLogWrapper::glDrawElementsInstancedBaseVertexBaseInstance (glw::GLenum mode, glw::GLsizei count, glw::GLenum type, const void *indices, glw::GLsizei instancecount, glw::GLint basevertex, glw::GLuint baseinstance)
   1303 {
   1304 	if (m_enableLog)
   1305 		m_log << TestLog::Message << "glDrawElementsInstancedBaseVertexBaseInstance(" << toHex(mode) << ", " << count << ", " << toHex(type) << ", " << indices << ", " << instancecount << ", " << basevertex << ", " << baseinstance << ");" << TestLog::EndMessage;
   1306 	m_gl.drawElementsInstancedBaseVertexBaseInstance(mode, count, type, indices, instancecount, basevertex, baseinstance);
   1307 }
   1308 
   1309 void CallLogWrapper::glDrawRangeElements (glw::GLenum mode, glw::GLuint start, glw::GLuint end, glw::GLsizei count, glw::GLenum type, const void *indices)
   1310 {
   1311 	if (m_enableLog)
   1312 		m_log << TestLog::Message << "glDrawRangeElements(" << getPrimitiveTypeStr(mode) << ", " << start << ", " << end << ", " << count << ", " << getTypeStr(type) << ", " << indices << ");" << TestLog::EndMessage;
   1313 	m_gl.drawRangeElements(mode, start, end, count, type, indices);
   1314 }
   1315 
   1316 void CallLogWrapper::glDrawRangeElementsBaseVertex (glw::GLenum mode, glw::GLuint start, glw::GLuint end, glw::GLsizei count, glw::GLenum type, const void *indices, glw::GLint basevertex)
   1317 {
   1318 	if (m_enableLog)
   1319 		m_log << TestLog::Message << "glDrawRangeElementsBaseVertex(" << getPrimitiveTypeStr(mode) << ", " << start << ", " << end << ", " << count << ", " << getTypeStr(type) << ", " << indices << ", " << basevertex << ");" << TestLog::EndMessage;
   1320 	m_gl.drawRangeElementsBaseVertex(mode, start, end, count, type, indices, basevertex);
   1321 }
   1322 
   1323 void CallLogWrapper::glDrawTransformFeedback (glw::GLenum mode, glw::GLuint id)
   1324 {
   1325 	if (m_enableLog)
   1326 		m_log << TestLog::Message << "glDrawTransformFeedback(" << toHex(mode) << ", " << id << ");" << TestLog::EndMessage;
   1327 	m_gl.drawTransformFeedback(mode, id);
   1328 }
   1329 
   1330 void CallLogWrapper::glDrawTransformFeedbackInstanced (glw::GLenum mode, glw::GLuint id, glw::GLsizei instancecount)
   1331 {
   1332 	if (m_enableLog)
   1333 		m_log << TestLog::Message << "glDrawTransformFeedbackInstanced(" << toHex(mode) << ", " << id << ", " << instancecount << ");" << TestLog::EndMessage;
   1334 	m_gl.drawTransformFeedbackInstanced(mode, id, instancecount);
   1335 }
   1336 
   1337 void CallLogWrapper::glDrawTransformFeedbackStream (glw::GLenum mode, glw::GLuint id, glw::GLuint stream)
   1338 {
   1339 	if (m_enableLog)
   1340 		m_log << TestLog::Message << "glDrawTransformFeedbackStream(" << toHex(mode) << ", " << id << ", " << stream << ");" << TestLog::EndMessage;
   1341 	m_gl.drawTransformFeedbackStream(mode, id, stream);
   1342 }
   1343 
   1344 void CallLogWrapper::glDrawTransformFeedbackStreamInstanced (glw::GLenum mode, glw::GLuint id, glw::GLuint stream, glw::GLsizei instancecount)
   1345 {
   1346 	if (m_enableLog)
   1347 		m_log << TestLog::Message << "glDrawTransformFeedbackStreamInstanced(" << toHex(mode) << ", " << id << ", " << stream << ", " << instancecount << ");" << TestLog::EndMessage;
   1348 	m_gl.drawTransformFeedbackStreamInstanced(mode, id, stream, instancecount);
   1349 }
   1350 
   1351 void CallLogWrapper::glEGLImageTargetRenderbufferStorageOES (glw::GLenum target, glw::GLeglImageOES image)
   1352 {
   1353 	if (m_enableLog)
   1354 		m_log << TestLog::Message << "glEGLImageTargetRenderbufferStorageOES(" << toHex(target) << ", " << image << ");" << TestLog::EndMessage;
   1355 	m_gl.eglImageTargetRenderbufferStorageOES(target, image);
   1356 }
   1357 
   1358 void CallLogWrapper::glEGLImageTargetTexture2DOES (glw::GLenum target, glw::GLeglImageOES image)
   1359 {
   1360 	if (m_enableLog)
   1361 		m_log << TestLog::Message << "glEGLImageTargetTexture2DOES(" << toHex(target) << ", " << image << ");" << TestLog::EndMessage;
   1362 	m_gl.eglImageTargetTexture2DOES(target, image);
   1363 }
   1364 
   1365 void CallLogWrapper::glEnable (glw::GLenum cap)
   1366 {
   1367 	if (m_enableLog)
   1368 		m_log << TestLog::Message << "glEnable(" << getEnableCapStr(cap) << ");" << TestLog::EndMessage;
   1369 	m_gl.enable(cap);
   1370 }
   1371 
   1372 void CallLogWrapper::glEnableClientStateIndexedEXT (glw::GLenum array, glw::GLuint index)
   1373 {
   1374 	if (m_enableLog)
   1375 		m_log << TestLog::Message << "glEnableClientStateIndexedEXT(" << toHex(array) << ", " << index << ");" << TestLog::EndMessage;
   1376 	m_gl.enableClientStateIndexedEXT(array, index);
   1377 }
   1378 
   1379 void CallLogWrapper::glEnableClientStateiEXT (glw::GLenum array, glw::GLuint index)
   1380 {
   1381 	if (m_enableLog)
   1382 		m_log << TestLog::Message << "glEnableClientStateiEXT(" << toHex(array) << ", " << index << ");" << TestLog::EndMessage;
   1383 	m_gl.enableClientStateiEXT(array, index);
   1384 }
   1385 
   1386 void CallLogWrapper::glEnableVertexArrayAttrib (glw::GLuint vaobj, glw::GLuint index)
   1387 {
   1388 	if (m_enableLog)
   1389 		m_log << TestLog::Message << "glEnableVertexArrayAttrib(" << vaobj << ", " << index << ");" << TestLog::EndMessage;
   1390 	m_gl.enableVertexArrayAttrib(vaobj, index);
   1391 }
   1392 
   1393 void CallLogWrapper::glEnableVertexArrayAttribEXT (glw::GLuint vaobj, glw::GLuint index)
   1394 {
   1395 	if (m_enableLog)
   1396 		m_log << TestLog::Message << "glEnableVertexArrayAttribEXT(" << vaobj << ", " << index << ");" << TestLog::EndMessage;
   1397 	m_gl.enableVertexArrayAttribEXT(vaobj, index);
   1398 }
   1399 
   1400 void CallLogWrapper::glEnableVertexArrayEXT (glw::GLuint vaobj, glw::GLenum array)
   1401 {
   1402 	if (m_enableLog)
   1403 		m_log << TestLog::Message << "glEnableVertexArrayEXT(" << vaobj << ", " << toHex(array) << ");" << TestLog::EndMessage;
   1404 	m_gl.enableVertexArrayEXT(vaobj, array);
   1405 }
   1406 
   1407 void CallLogWrapper::glEnableVertexAttribArray (glw::GLuint index)
   1408 {
   1409 	if (m_enableLog)
   1410 		m_log << TestLog::Message << "glEnableVertexAttribArray(" << index << ");" << TestLog::EndMessage;
   1411 	m_gl.enableVertexAttribArray(index);
   1412 }
   1413 
   1414 void CallLogWrapper::glEnablei (glw::GLenum target, glw::GLuint index)
   1415 {
   1416 	if (m_enableLog)
   1417 		m_log << TestLog::Message << "glEnablei(" << getIndexedEnableCapStr(target) << ", " << index << ");" << TestLog::EndMessage;
   1418 	m_gl.enablei(target, index);
   1419 }
   1420 
   1421 void CallLogWrapper::glEndConditionalRender (void)
   1422 {
   1423 	if (m_enableLog)
   1424 		m_log << TestLog::Message << "glEndConditionalRender(" << ");" << TestLog::EndMessage;
   1425 	m_gl.endConditionalRender();
   1426 }
   1427 
   1428 void CallLogWrapper::glEndQuery (glw::GLenum target)
   1429 {
   1430 	if (m_enableLog)
   1431 		m_log << TestLog::Message << "glEndQuery(" << getQueryTargetStr(target) << ");" << TestLog::EndMessage;
   1432 	m_gl.endQuery(target);
   1433 }
   1434 
   1435 void CallLogWrapper::glEndQueryIndexed (glw::GLenum target, glw::GLuint index)
   1436 {
   1437 	if (m_enableLog)
   1438 		m_log << TestLog::Message << "glEndQueryIndexed(" << toHex(target) << ", " << index << ");" << TestLog::EndMessage;
   1439 	m_gl.endQueryIndexed(target, index);
   1440 }
   1441 
   1442 void CallLogWrapper::glEndTransformFeedback (void)
   1443 {
   1444 	if (m_enableLog)
   1445 		m_log << TestLog::Message << "glEndTransformFeedback(" << ");" << TestLog::EndMessage;
   1446 	m_gl.endTransformFeedback();
   1447 }
   1448 
   1449 glw::GLsync CallLogWrapper::glFenceSync (glw::GLenum condition, glw::GLbitfield flags)
   1450 {
   1451 	if (m_enableLog)
   1452 		m_log << TestLog::Message << "glFenceSync(" << toHex(condition) << ", " << toHex(flags) << ");" << TestLog::EndMessage;
   1453 	glw::GLsync returnValue = m_gl.fenceSync(condition, flags);
   1454 	if (m_enableLog)
   1455 		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
   1456 	return returnValue;
   1457 }
   1458 
   1459 void CallLogWrapper::glFinish (void)
   1460 {
   1461 	if (m_enableLog)
   1462 		m_log << TestLog::Message << "glFinish(" << ");" << TestLog::EndMessage;
   1463 	m_gl.finish();
   1464 }
   1465 
   1466 void CallLogWrapper::glFlush (void)
   1467 {
   1468 	if (m_enableLog)
   1469 		m_log << TestLog::Message << "glFlush(" << ");" << TestLog::EndMessage;
   1470 	m_gl.flush();
   1471 }
   1472 
   1473 void CallLogWrapper::glFlushMappedBufferRange (glw::GLenum target, glw::GLintptr offset, glw::GLsizeiptr length)
   1474 {
   1475 	if (m_enableLog)
   1476 		m_log << TestLog::Message << "glFlushMappedBufferRange(" << getBufferTargetStr(target) << ", " << offset << ", " << length << ");" << TestLog::EndMessage;
   1477 	m_gl.flushMappedBufferRange(target, offset, length);
   1478 }
   1479 
   1480 void CallLogWrapper::glFlushMappedNamedBufferRange (glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr length)
   1481 {
   1482 	if (m_enableLog)
   1483 		m_log << TestLog::Message << "glFlushMappedNamedBufferRange(" << buffer << ", " << offset << ", " << length << ");" << TestLog::EndMessage;
   1484 	m_gl.flushMappedNamedBufferRange(buffer, offset, length);
   1485 }
   1486 
   1487 void CallLogWrapper::glFlushMappedNamedBufferRangeEXT (glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr length)
   1488 {
   1489 	if (m_enableLog)
   1490 		m_log << TestLog::Message << "glFlushMappedNamedBufferRangeEXT(" << buffer << ", " << offset << ", " << length << ");" << TestLog::EndMessage;
   1491 	m_gl.flushMappedNamedBufferRangeEXT(buffer, offset, length);
   1492 }
   1493 
   1494 void CallLogWrapper::glFramebufferDrawBufferEXT (glw::GLuint framebuffer, glw::GLenum mode)
   1495 {
   1496 	if (m_enableLog)
   1497 		m_log << TestLog::Message << "glFramebufferDrawBufferEXT(" << framebuffer << ", " << toHex(mode) << ");" << TestLog::EndMessage;
   1498 	m_gl.framebufferDrawBufferEXT(framebuffer, mode);
   1499 }
   1500 
   1501 void CallLogWrapper::glFramebufferDrawBuffersEXT (glw::GLuint framebuffer, glw::GLsizei n, const glw::GLenum *bufs)
   1502 {
   1503 	if (m_enableLog)
   1504 		m_log << TestLog::Message << "glFramebufferDrawBuffersEXT(" << framebuffer << ", " << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(bufs))) << ");" << TestLog::EndMessage;
   1505 	m_gl.framebufferDrawBuffersEXT(framebuffer, n, bufs);
   1506 }
   1507 
   1508 void CallLogWrapper::glFramebufferParameteri (glw::GLenum target, glw::GLenum pname, glw::GLint param)
   1509 {
   1510 	if (m_enableLog)
   1511 		m_log << TestLog::Message << "glFramebufferParameteri(" << getFramebufferTargetStr(target) << ", " << getFramebufferParameterStr(pname) << ", " << param << ");" << TestLog::EndMessage;
   1512 	m_gl.framebufferParameteri(target, pname, param);
   1513 }
   1514 
   1515 void CallLogWrapper::glFramebufferReadBufferEXT (glw::GLuint framebuffer, glw::GLenum mode)
   1516 {
   1517 	if (m_enableLog)
   1518 		m_log << TestLog::Message << "glFramebufferReadBufferEXT(" << framebuffer << ", " << toHex(mode) << ");" << TestLog::EndMessage;
   1519 	m_gl.framebufferReadBufferEXT(framebuffer, mode);
   1520 }
   1521 
   1522 void CallLogWrapper::glFramebufferRenderbuffer (glw::GLenum target, glw::GLenum attachment, glw::GLenum renderbuffertarget, glw::GLuint renderbuffer)
   1523 {
   1524 	if (m_enableLog)
   1525 		m_log << TestLog::Message << "glFramebufferRenderbuffer(" << getFramebufferTargetStr(target) << ", " << getFramebufferAttachmentStr(attachment) << ", " << getFramebufferTargetStr(renderbuffertarget) << ", " << renderbuffer << ");" << TestLog::EndMessage;
   1526 	m_gl.framebufferRenderbuffer(target, attachment, renderbuffertarget, renderbuffer);
   1527 }
   1528 
   1529 void CallLogWrapper::glFramebufferTexture (glw::GLenum target, glw::GLenum attachment, glw::GLuint texture, glw::GLint level)
   1530 {
   1531 	if (m_enableLog)
   1532 		m_log << TestLog::Message << "glFramebufferTexture(" << getFramebufferTargetStr(target) << ", " << getFramebufferAttachmentStr(attachment) << ", " << texture << ", " << level << ");" << TestLog::EndMessage;
   1533 	m_gl.framebufferTexture(target, attachment, texture, level);
   1534 }
   1535 
   1536 void CallLogWrapper::glFramebufferTexture1D (glw::GLenum target, glw::GLenum attachment, glw::GLenum textarget, glw::GLuint texture, glw::GLint level)
   1537 {
   1538 	if (m_enableLog)
   1539 		m_log << TestLog::Message << "glFramebufferTexture1D(" << toHex(target) << ", " << toHex(attachment) << ", " << toHex(textarget) << ", " << texture << ", " << level << ");" << TestLog::EndMessage;
   1540 	m_gl.framebufferTexture1D(target, attachment, textarget, texture, level);
   1541 }
   1542 
   1543 void CallLogWrapper::glFramebufferTexture2D (glw::GLenum target, glw::GLenum attachment, glw::GLenum textarget, glw::GLuint texture, glw::GLint level)
   1544 {
   1545 	if (m_enableLog)
   1546 		m_log << TestLog::Message << "glFramebufferTexture2D(" << getFramebufferTargetStr(target) << ", " << getFramebufferAttachmentStr(attachment) << ", " << getTextureTargetStr(textarget) << ", " << texture << ", " << level << ");" << TestLog::EndMessage;
   1547 	m_gl.framebufferTexture2D(target, attachment, textarget, texture, level);
   1548 }
   1549 
   1550 void CallLogWrapper::glFramebufferTexture2DMultisampleEXT (glw::GLenum target, glw::GLenum attachment, glw::GLenum textarget, glw::GLuint texture, glw::GLint level, glw::GLsizei samples)
   1551 {
   1552 	if (m_enableLog)
   1553 		m_log << TestLog::Message << "glFramebufferTexture2DMultisampleEXT(" << toHex(target) << ", " << toHex(attachment) << ", " << toHex(textarget) << ", " << texture << ", " << level << ", " << samples << ");" << TestLog::EndMessage;
   1554 	m_gl.framebufferTexture2DMultisampleEXT(target, attachment, textarget, texture, level, samples);
   1555 }
   1556 
   1557 void CallLogWrapper::glFramebufferTexture3D (glw::GLenum target, glw::GLenum attachment, glw::GLenum textarget, glw::GLuint texture, glw::GLint level, glw::GLint zoffset)
   1558 {
   1559 	if (m_enableLog)
   1560 		m_log << TestLog::Message << "glFramebufferTexture3D(" << toHex(target) << ", " << toHex(attachment) << ", " << toHex(textarget) << ", " << texture << ", " << level << ", " << zoffset << ");" << TestLog::EndMessage;
   1561 	m_gl.framebufferTexture3D(target, attachment, textarget, texture, level, zoffset);
   1562 }
   1563 
   1564 void CallLogWrapper::glFramebufferTexture3DOES (glw::GLenum target, glw::GLenum attachment, glw::GLenum textarget, glw::GLuint texture, glw::GLint level, glw::GLint zoffset)
   1565 {
   1566 	if (m_enableLog)
   1567 		m_log << TestLog::Message << "glFramebufferTexture3DOES(" << toHex(target) << ", " << toHex(attachment) << ", " << toHex(textarget) << ", " << texture << ", " << level << ", " << zoffset << ");" << TestLog::EndMessage;
   1568 	m_gl.framebufferTexture3DOES(target, attachment, textarget, texture, level, zoffset);
   1569 }
   1570 
   1571 void CallLogWrapper::glFramebufferTextureLayer (glw::GLenum target, glw::GLenum attachment, glw::GLuint texture, glw::GLint level, glw::GLint layer)
   1572 {
   1573 	if (m_enableLog)
   1574 		m_log << TestLog::Message << "glFramebufferTextureLayer(" << getFramebufferTargetStr(target) << ", " << getFramebufferAttachmentStr(attachment) << ", " << texture << ", " << level << ", " << layer << ");" << TestLog::EndMessage;
   1575 	m_gl.framebufferTextureLayer(target, attachment, texture, level, layer);
   1576 }
   1577 
   1578 void CallLogWrapper::glFramebufferTextureMultisampleMultiviewOVR (glw::GLenum target, glw::GLenum attachment, glw::GLuint texture, glw::GLint level, glw::GLsizei samples, glw::GLint baseViewIndex, glw::GLsizei numViews)
   1579 {
   1580 	if (m_enableLog)
   1581 		m_log << TestLog::Message << "glFramebufferTextureMultisampleMultiviewOVR(" << toHex(target) << ", " << toHex(attachment) << ", " << texture << ", " << level << ", " << samples << ", " << baseViewIndex << ", " << numViews << ");" << TestLog::EndMessage;
   1582 	m_gl.framebufferTextureMultisampleMultiviewOVR(target, attachment, texture, level, samples, baseViewIndex, numViews);
   1583 }
   1584 
   1585 void CallLogWrapper::glFramebufferTextureMultiviewOVR (glw::GLenum target, glw::GLenum attachment, glw::GLuint texture, glw::GLint level, glw::GLint baseViewIndex, glw::GLsizei numViews)
   1586 {
   1587 	if (m_enableLog)
   1588 		m_log << TestLog::Message << "glFramebufferTextureMultiviewOVR(" << toHex(target) << ", " << toHex(attachment) << ", " << texture << ", " << level << ", " << baseViewIndex << ", " << numViews << ");" << TestLog::EndMessage;
   1589 	m_gl.framebufferTextureMultiviewOVR(target, attachment, texture, level, baseViewIndex, numViews);
   1590 }
   1591 
   1592 void CallLogWrapper::glFrontFace (glw::GLenum mode)
   1593 {
   1594 	if (m_enableLog)
   1595 		m_log << TestLog::Message << "glFrontFace(" << getWindingStr(mode) << ");" << TestLog::EndMessage;
   1596 	m_gl.frontFace(mode);
   1597 }
   1598 
   1599 void CallLogWrapper::glGenBuffers (glw::GLsizei n, glw::GLuint *buffers)
   1600 {
   1601 	if (m_enableLog)
   1602 		m_log << TestLog::Message << "glGenBuffers(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(buffers))) << ");" << TestLog::EndMessage;
   1603 	m_gl.genBuffers(n, buffers);
   1604 	if (m_enableLog)
   1605 		m_log << TestLog::Message << "// buffers = " << getPointerStr(buffers, n) << TestLog::EndMessage;
   1606 }
   1607 
   1608 void CallLogWrapper::glGenFramebuffers (glw::GLsizei n, glw::GLuint *framebuffers)
   1609 {
   1610 	if (m_enableLog)
   1611 		m_log << TestLog::Message << "glGenFramebuffers(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(framebuffers))) << ");" << TestLog::EndMessage;
   1612 	m_gl.genFramebuffers(n, framebuffers);
   1613 	if (m_enableLog)
   1614 		m_log << TestLog::Message << "// framebuffers = " << getPointerStr(framebuffers, n) << TestLog::EndMessage;
   1615 }
   1616 
   1617 void CallLogWrapper::glGenProgramPipelines (glw::GLsizei n, glw::GLuint *pipelines)
   1618 {
   1619 	if (m_enableLog)
   1620 		m_log << TestLog::Message << "glGenProgramPipelines(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(pipelines))) << ");" << TestLog::EndMessage;
   1621 	m_gl.genProgramPipelines(n, pipelines);
   1622 	if (m_enableLog)
   1623 		m_log << TestLog::Message << "// pipelines = " << getPointerStr(pipelines, n) << TestLog::EndMessage;
   1624 }
   1625 
   1626 void CallLogWrapper::glGenQueries (glw::GLsizei n, glw::GLuint *ids)
   1627 {
   1628 	if (m_enableLog)
   1629 		m_log << TestLog::Message << "glGenQueries(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(ids))) << ");" << TestLog::EndMessage;
   1630 	m_gl.genQueries(n, ids);
   1631 	if (m_enableLog)
   1632 		m_log << TestLog::Message << "// ids = " << getPointerStr(ids, n) << TestLog::EndMessage;
   1633 }
   1634 
   1635 void CallLogWrapper::glGenRenderbuffers (glw::GLsizei n, glw::GLuint *renderbuffers)
   1636 {
   1637 	if (m_enableLog)
   1638 		m_log << TestLog::Message << "glGenRenderbuffers(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(renderbuffers))) << ");" << TestLog::EndMessage;
   1639 	m_gl.genRenderbuffers(n, renderbuffers);
   1640 	if (m_enableLog)
   1641 		m_log << TestLog::Message << "// renderbuffers = " << getPointerStr(renderbuffers, n) << TestLog::EndMessage;
   1642 }
   1643 
   1644 void CallLogWrapper::glGenSamplers (glw::GLsizei count, glw::GLuint *samplers)
   1645 {
   1646 	if (m_enableLog)
   1647 		m_log << TestLog::Message << "glGenSamplers(" << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(samplers))) << ");" << TestLog::EndMessage;
   1648 	m_gl.genSamplers(count, samplers);
   1649 }
   1650 
   1651 void CallLogWrapper::glGenTextures (glw::GLsizei n, glw::GLuint *textures)
   1652 {
   1653 	if (m_enableLog)
   1654 		m_log << TestLog::Message << "glGenTextures(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(textures))) << ");" << TestLog::EndMessage;
   1655 	m_gl.genTextures(n, textures);
   1656 	if (m_enableLog)
   1657 		m_log << TestLog::Message << "// textures = " << getPointerStr(textures, n) << TestLog::EndMessage;
   1658 }
   1659 
   1660 void CallLogWrapper::glGenTransformFeedbacks (glw::GLsizei n, glw::GLuint *ids)
   1661 {
   1662 	if (m_enableLog)
   1663 		m_log << TestLog::Message << "glGenTransformFeedbacks(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(ids))) << ");" << TestLog::EndMessage;
   1664 	m_gl.genTransformFeedbacks(n, ids);
   1665 	if (m_enableLog)
   1666 		m_log << TestLog::Message << "// ids = " << getPointerStr(ids, n) << TestLog::EndMessage;
   1667 }
   1668 
   1669 void CallLogWrapper::glGenVertexArrays (glw::GLsizei n, glw::GLuint *arrays)
   1670 {
   1671 	if (m_enableLog)
   1672 		m_log << TestLog::Message << "glGenVertexArrays(" << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(arrays))) << ");" << TestLog::EndMessage;
   1673 	m_gl.genVertexArrays(n, arrays);
   1674 	if (m_enableLog)
   1675 		m_log << TestLog::Message << "// arrays = " << getPointerStr(arrays, n) << TestLog::EndMessage;
   1676 }
   1677 
   1678 void CallLogWrapper::glGenerateMipmap (glw::GLenum target)
   1679 {
   1680 	if (m_enableLog)
   1681 		m_log << TestLog::Message << "glGenerateMipmap(" << getTextureTargetStr(target) << ");" << TestLog::EndMessage;
   1682 	m_gl.generateMipmap(target);
   1683 }
   1684 
   1685 void CallLogWrapper::glGenerateMultiTexMipmapEXT (glw::GLenum texunit, glw::GLenum target)
   1686 {
   1687 	if (m_enableLog)
   1688 		m_log << TestLog::Message << "glGenerateMultiTexMipmapEXT(" << toHex(texunit) << ", " << toHex(target) << ");" << TestLog::EndMessage;
   1689 	m_gl.generateMultiTexMipmapEXT(texunit, target);
   1690 }
   1691 
   1692 void CallLogWrapper::glGenerateTextureMipmap (glw::GLuint texture)
   1693 {
   1694 	if (m_enableLog)
   1695 		m_log << TestLog::Message << "glGenerateTextureMipmap(" << texture << ");" << TestLog::EndMessage;
   1696 	m_gl.generateTextureMipmap(texture);
   1697 }
   1698 
   1699 void CallLogWrapper::glGenerateTextureMipmapEXT (glw::GLuint texture, glw::GLenum target)
   1700 {
   1701 	if (m_enableLog)
   1702 		m_log << TestLog::Message << "glGenerateTextureMipmapEXT(" << texture << ", " << toHex(target) << ");" << TestLog::EndMessage;
   1703 	m_gl.generateTextureMipmapEXT(texture, target);
   1704 }
   1705 
   1706 void CallLogWrapper::glGetActiveAtomicCounterBufferiv (glw::GLuint program, glw::GLuint bufferIndex, glw::GLenum pname, glw::GLint *params)
   1707 {
   1708 	if (m_enableLog)
   1709 		m_log << TestLog::Message << "glGetActiveAtomicCounterBufferiv(" << program << ", " << bufferIndex << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   1710 	m_gl.getActiveAtomicCounterBufferiv(program, bufferIndex, pname, params);
   1711 }
   1712 
   1713 void CallLogWrapper::glGetActiveAttrib (glw::GLuint program, glw::GLuint index, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLint *size, glw::GLenum *type, glw::GLchar *name)
   1714 {
   1715 	if (m_enableLog)
   1716 		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;
   1717 	m_gl.getActiveAttrib(program, index, bufSize, length, size, type, name);
   1718 }
   1719 
   1720 void CallLogWrapper::glGetActiveSubroutineName (glw::GLuint program, glw::GLenum shadertype, glw::GLuint index, glw::GLsizei bufsize, glw::GLsizei *length, glw::GLchar *name)
   1721 {
   1722 	if (m_enableLog)
   1723 		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;
   1724 	m_gl.getActiveSubroutineName(program, shadertype, index, bufsize, length, name);
   1725 }
   1726 
   1727 void CallLogWrapper::glGetActiveSubroutineUniformName (glw::GLuint program, glw::GLenum shadertype, glw::GLuint index, glw::GLsizei bufsize, glw::GLsizei *length, glw::GLchar *name)
   1728 {
   1729 	if (m_enableLog)
   1730 		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;
   1731 	m_gl.getActiveSubroutineUniformName(program, shadertype, index, bufsize, length, name);
   1732 }
   1733 
   1734 void CallLogWrapper::glGetActiveSubroutineUniformiv (glw::GLuint program, glw::GLenum shadertype, glw::GLuint index, glw::GLenum pname, glw::GLint *values)
   1735 {
   1736 	if (m_enableLog)
   1737 		m_log << TestLog::Message << "glGetActiveSubroutineUniformiv(" << program << ", " << toHex(shadertype) << ", " << index << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(values))) << ");" << TestLog::EndMessage;
   1738 	m_gl.getActiveSubroutineUniformiv(program, shadertype, index, pname, values);
   1739 }
   1740 
   1741 void CallLogWrapper::glGetActiveUniform (glw::GLuint program, glw::GLuint index, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLint *size, glw::GLenum *type, glw::GLchar *name)
   1742 {
   1743 	if (m_enableLog)
   1744 		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;
   1745 	m_gl.getActiveUniform(program, index, bufSize, length, size, type, name);
   1746 	if (m_enableLog)
   1747 	{
   1748 		m_log << TestLog::Message << "// length = " << getPointerStr(length, 1) << TestLog::EndMessage;
   1749 		m_log << TestLog::Message << "// size = " << getPointerStr(size, 1) << TestLog::EndMessage;
   1750 		m_log << TestLog::Message << "// type = " << getEnumPointerStr(type, 1, getShaderVarTypeName) << TestLog::EndMessage;
   1751 		m_log << TestLog::Message << "// name = " << getStringStr(name) << TestLog::EndMessage;
   1752 	}
   1753 }
   1754 
   1755 void CallLogWrapper::glGetActiveUniformBlockName (glw::GLuint program, glw::GLuint uniformBlockIndex, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLchar *uniformBlockName)
   1756 {
   1757 	if (m_enableLog)
   1758 		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;
   1759 	m_gl.getActiveUniformBlockName(program, uniformBlockIndex, bufSize, length, uniformBlockName);
   1760 }
   1761 
   1762 void CallLogWrapper::glGetActiveUniformBlockiv (glw::GLuint program, glw::GLuint uniformBlockIndex, glw::GLenum pname, glw::GLint *params)
   1763 {
   1764 	if (m_enableLog)
   1765 		m_log << TestLog::Message << "glGetActiveUniformBlockiv(" << program << ", " << uniformBlockIndex << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   1766 	m_gl.getActiveUniformBlockiv(program, uniformBlockIndex, pname, params);
   1767 }
   1768 
   1769 void CallLogWrapper::glGetActiveUniformName (glw::GLuint program, glw::GLuint uniformIndex, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLchar *uniformName)
   1770 {
   1771 	if (m_enableLog)
   1772 		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;
   1773 	m_gl.getActiveUniformName(program, uniformIndex, bufSize, length, uniformName);
   1774 }
   1775 
   1776 void CallLogWrapper::glGetActiveUniformsiv (glw::GLuint program, glw::GLsizei uniformCount, const glw::GLuint *uniformIndices, glw::GLenum pname, glw::GLint *params)
   1777 {
   1778 	if (m_enableLog)
   1779 		m_log << TestLog::Message << "glGetActiveUniformsiv(" << program << ", " << uniformCount << ", " << getPointerStr(uniformIndices, uniformCount) << ", " << getUniformParamStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   1780 	m_gl.getActiveUniformsiv(program, uniformCount, uniformIndices, pname, params);
   1781 	if (m_enableLog)
   1782 		m_log << TestLog::Message << "// params = " << getPointerStr(params, uniformCount) << TestLog::EndMessage;
   1783 }
   1784 
   1785 void CallLogWrapper::glGetAttachedShaders (glw::GLuint program, glw::GLsizei maxCount, glw::GLsizei *count, glw::GLuint *shaders)
   1786 {
   1787 	if (m_enableLog)
   1788 		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;
   1789 	m_gl.getAttachedShaders(program, maxCount, count, shaders);
   1790 }
   1791 
   1792 glw::GLint CallLogWrapper::glGetAttribLocation (glw::GLuint program, const glw::GLchar *name)
   1793 {
   1794 	if (m_enableLog)
   1795 		m_log << TestLog::Message << "glGetAttribLocation(" << program << ", " << getStringStr(name) << ");" << TestLog::EndMessage;
   1796 	glw::GLint returnValue = m_gl.getAttribLocation(program, name);
   1797 	if (m_enableLog)
   1798 		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
   1799 	return returnValue;
   1800 }
   1801 
   1802 void CallLogWrapper::glGetBooleani_v (glw::GLenum target, glw::GLuint index, glw::GLboolean *data)
   1803 {
   1804 	if (m_enableLog)
   1805 		m_log << TestLog::Message << "glGetBooleani_v(" << getGettableIndexedStateStr(target) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
   1806 	m_gl.getBooleani_v(target, index, data);
   1807 	if (m_enableLog)
   1808 		m_log << TestLog::Message << "// data = " << getBooleanPointerStr(data, getIndexedQueryNumArgsOut(target)) << TestLog::EndMessage;
   1809 }
   1810 
   1811 void CallLogWrapper::glGetBooleanv (glw::GLenum pname, glw::GLboolean *data)
   1812 {
   1813 	if (m_enableLog)
   1814 		m_log << TestLog::Message << "glGetBooleanv(" << getGettableStateStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
   1815 	m_gl.getBooleanv(pname, data);
   1816 	if (m_enableLog)
   1817 		m_log << TestLog::Message << "// data = " << getBooleanPointerStr(data, getBasicQueryNumArgsOut(pname)) << TestLog::EndMessage;
   1818 }
   1819 
   1820 void CallLogWrapper::glGetBufferParameteri64v (glw::GLenum target, glw::GLenum pname, glw::GLint64 *params)
   1821 {
   1822 	if (m_enableLog)
   1823 		m_log << TestLog::Message << "glGetBufferParameteri64v(" << getBufferTargetStr(target) << ", " << getBufferQueryStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   1824 	m_gl.getBufferParameteri64v(target, pname, params);
   1825 }
   1826 
   1827 void CallLogWrapper::glGetBufferParameteriv (glw::GLenum target, glw::GLenum pname, glw::GLint *params)
   1828 {
   1829 	if (m_enableLog)
   1830 		m_log << TestLog::Message << "glGetBufferParameteriv(" << getBufferTargetStr(target) << ", " << getBufferQueryStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   1831 	m_gl.getBufferParameteriv(target, pname, params);
   1832 }
   1833 
   1834 void CallLogWrapper::glGetBufferPointerv (glw::GLenum target, glw::GLenum pname, void **params)
   1835 {
   1836 	if (m_enableLog)
   1837 		m_log << TestLog::Message << "glGetBufferPointerv(" << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   1838 	m_gl.getBufferPointerv(target, pname, params);
   1839 }
   1840 
   1841 void CallLogWrapper::glGetBufferSubData (glw::GLenum target, glw::GLintptr offset, glw::GLsizeiptr size, void *data)
   1842 {
   1843 	if (m_enableLog)
   1844 		m_log << TestLog::Message << "glGetBufferSubData(" << toHex(target) << ", " << offset << ", " << size << ", " << data << ");" << TestLog::EndMessage;
   1845 	m_gl.getBufferSubData(target, offset, size, data);
   1846 }
   1847 
   1848 void CallLogWrapper::glGetCompressedMultiTexImageEXT (glw::GLenum texunit, glw::GLenum target, glw::GLint lod, void *img)
   1849 {
   1850 	if (m_enableLog)
   1851 		m_log << TestLog::Message << "glGetCompressedMultiTexImageEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << lod << ", " << img << ");" << TestLog::EndMessage;
   1852 	m_gl.getCompressedMultiTexImageEXT(texunit, target, lod, img);
   1853 }
   1854 
   1855 void CallLogWrapper::glGetCompressedTexImage (glw::GLenum target, glw::GLint level, void *img)
   1856 {
   1857 	if (m_enableLog)
   1858 		m_log << TestLog::Message << "glGetCompressedTexImage(" << toHex(target) << ", " << level << ", " << img << ");" << TestLog::EndMessage;
   1859 	m_gl.getCompressedTexImage(target, level, img);
   1860 }
   1861 
   1862 void CallLogWrapper::glGetCompressedTextureImage (glw::GLuint texture, glw::GLint level, glw::GLsizei bufSize, void *pixels)
   1863 {
   1864 	if (m_enableLog)
   1865 		m_log << TestLog::Message << "glGetCompressedTextureImage(" << texture << ", " << level << ", " << bufSize << ", " << pixels << ");" << TestLog::EndMessage;
   1866 	m_gl.getCompressedTextureImage(texture, level, bufSize, pixels);
   1867 }
   1868 
   1869 void CallLogWrapper::glGetCompressedTextureImageEXT (glw::GLuint texture, glw::GLenum target, glw::GLint lod, void *img)
   1870 {
   1871 	if (m_enableLog)
   1872 		m_log << TestLog::Message << "glGetCompressedTextureImageEXT(" << texture << ", " << toHex(target) << ", " << lod << ", " << img << ");" << TestLog::EndMessage;
   1873 	m_gl.getCompressedTextureImageEXT(texture, target, lod, img);
   1874 }
   1875 
   1876 void 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)
   1877 {
   1878 	if (m_enableLog)
   1879 		m_log << TestLog::Message << "glGetCompressedTextureSubImage(" << texture << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ", " << bufSize << ", " << pixels << ");" << TestLog::EndMessage;
   1880 	m_gl.getCompressedTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, bufSize, pixels);
   1881 }
   1882 
   1883 glw::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)
   1884 {
   1885 	if (m_enableLog)
   1886 		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;
   1887 	glw::GLuint returnValue = m_gl.getDebugMessageLog(count, bufSize, sources, types, ids, severities, lengths, messageLog);
   1888 	if (m_enableLog)
   1889 		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
   1890 	return returnValue;
   1891 }
   1892 
   1893 void CallLogWrapper::glGetDoublei_v (glw::GLenum target, glw::GLuint index, glw::GLdouble *data)
   1894 {
   1895 	if (m_enableLog)
   1896 		m_log << TestLog::Message << "glGetDoublei_v(" << toHex(target) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
   1897 	m_gl.getDoublei_v(target, index, data);
   1898 }
   1899 
   1900 void CallLogWrapper::glGetDoublev (glw::GLenum pname, glw::GLdouble *data)
   1901 {
   1902 	if (m_enableLog)
   1903 		m_log << TestLog::Message << "glGetDoublev(" << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
   1904 	m_gl.getDoublev(pname, data);
   1905 }
   1906 
   1907 glw::GLenum CallLogWrapper::glGetError (void)
   1908 {
   1909 	if (m_enableLog)
   1910 		m_log << TestLog::Message << "glGetError(" << ");" << TestLog::EndMessage;
   1911 	glw::GLenum returnValue = m_gl.getError();
   1912 	if (m_enableLog)
   1913 		m_log << TestLog::Message << "// " << getErrorStr(returnValue) << " returned" << TestLog::EndMessage;
   1914 	return returnValue;
   1915 }
   1916 
   1917 void CallLogWrapper::glGetFloati_v (glw::GLenum target, glw::GLuint index, glw::GLfloat *data)
   1918 {
   1919 	if (m_enableLog)
   1920 		m_log << TestLog::Message << "glGetFloati_v(" << toHex(target) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
   1921 	m_gl.getFloati_v(target, index, data);
   1922 }
   1923 
   1924 void CallLogWrapper::glGetFloatv (glw::GLenum pname, glw::GLfloat *data)
   1925 {
   1926 	if (m_enableLog)
   1927 		m_log << TestLog::Message << "glGetFloatv(" << getGettableStateStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
   1928 	m_gl.getFloatv(pname, data);
   1929 	if (m_enableLog)
   1930 		m_log << TestLog::Message << "// data = " << getPointerStr(data, getBasicQueryNumArgsOut(pname)) << TestLog::EndMessage;
   1931 }
   1932 
   1933 glw::GLint CallLogWrapper::glGetFragDataIndex (glw::GLuint program, const glw::GLchar *name)
   1934 {
   1935 	if (m_enableLog)
   1936 		m_log << TestLog::Message << "glGetFragDataIndex(" << program << ", " << getStringStr(name) << ");" << TestLog::EndMessage;
   1937 	glw::GLint returnValue = m_gl.getFragDataIndex(program, name);
   1938 	if (m_enableLog)
   1939 		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
   1940 	return returnValue;
   1941 }
   1942 
   1943 glw::GLint CallLogWrapper::glGetFragDataLocation (glw::GLuint program, const glw::GLchar *name)
   1944 {
   1945 	if (m_enableLog)
   1946 		m_log << TestLog::Message << "glGetFragDataLocation(" << program << ", " << getStringStr(name) << ");" << TestLog::EndMessage;
   1947 	glw::GLint returnValue = m_gl.getFragDataLocation(program, name);
   1948 	if (m_enableLog)
   1949 		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
   1950 	return returnValue;
   1951 }
   1952 
   1953 void CallLogWrapper::glGetFramebufferAttachmentParameteriv (glw::GLenum target, glw::GLenum attachment, glw::GLenum pname, glw::GLint *params)
   1954 {
   1955 	if (m_enableLog)
   1956 		m_log << TestLog::Message << "glGetFramebufferAttachmentParameteriv(" << getFramebufferTargetStr(target) << ", " << getFramebufferAttachmentStr(attachment) << ", " << getFramebufferAttachmentParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   1957 	m_gl.getFramebufferAttachmentParameteriv(target, attachment, pname, params);
   1958 	if (m_enableLog)
   1959 		m_log << TestLog::Message << "// params = " << getFramebufferAttachmentParameterValueStr(pname, params) << TestLog::EndMessage;
   1960 }
   1961 
   1962 void CallLogWrapper::glGetFramebufferParameteriv (glw::GLenum target, glw::GLenum pname, glw::GLint *params)
   1963 {
   1964 	if (m_enableLog)
   1965 		m_log << TestLog::Message << "glGetFramebufferParameteriv(" << getFramebufferTargetStr(target) << ", " << getFramebufferParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   1966 	m_gl.getFramebufferParameteriv(target, pname, params);
   1967 	if (m_enableLog)
   1968 		m_log << TestLog::Message << "// params = " << getPointerStr(params, 1) << TestLog::EndMessage;
   1969 }
   1970 
   1971 void CallLogWrapper::glGetFramebufferParameterivEXT (glw::GLuint framebuffer, glw::GLenum pname, glw::GLint *params)
   1972 {
   1973 	if (m_enableLog)
   1974 		m_log << TestLog::Message << "glGetFramebufferParameterivEXT(" << framebuffer << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   1975 	m_gl.getFramebufferParameterivEXT(framebuffer, pname, params);
   1976 }
   1977 
   1978 glw::GLenum CallLogWrapper::glGetGraphicsResetStatus (void)
   1979 {
   1980 	if (m_enableLog)
   1981 		m_log << TestLog::Message << "glGetGraphicsResetStatus(" << ");" << TestLog::EndMessage;
   1982 	glw::GLenum returnValue = m_gl.getGraphicsResetStatus();
   1983 	if (m_enableLog)
   1984 		m_log << TestLog::Message << "// " << toHex(returnValue) << " returned" << TestLog::EndMessage;
   1985 	return returnValue;
   1986 }
   1987 
   1988 void CallLogWrapper::glGetInteger64i_v (glw::GLenum target, glw::GLuint index, glw::GLint64 *data)
   1989 {
   1990 	if (m_enableLog)
   1991 		m_log << TestLog::Message << "glGetInteger64i_v(" << getGettableIndexedStateStr(target) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
   1992 	m_gl.getInteger64i_v(target, index, data);
   1993 	if (m_enableLog)
   1994 		m_log << TestLog::Message << "// data = " << getPointerStr(data, getIndexedQueryNumArgsOut(target)) << TestLog::EndMessage;
   1995 }
   1996 
   1997 void CallLogWrapper::glGetInteger64v (glw::GLenum pname, glw::GLint64 *data)
   1998 {
   1999 	if (m_enableLog)
   2000 		m_log << TestLog::Message << "glGetInteger64v(" << getGettableStateStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
   2001 	m_gl.getInteger64v(pname, data);
   2002 	if (m_enableLog)
   2003 		m_log << TestLog::Message << "// data = " << getPointerStr(data, getBasicQueryNumArgsOut(pname)) << TestLog::EndMessage;
   2004 }
   2005 
   2006 void CallLogWrapper::glGetIntegeri_v (glw::GLenum target, glw::GLuint index, glw::GLint *data)
   2007 {
   2008 	if (m_enableLog)
   2009 		m_log << TestLog::Message << "glGetIntegeri_v(" << getGettableIndexedStateStr(target) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
   2010 	m_gl.getIntegeri_v(target, index, data);
   2011 	if (m_enableLog)
   2012 		m_log << TestLog::Message << "// data = " << getPointerStr(data, getIndexedQueryNumArgsOut(target)) << TestLog::EndMessage;
   2013 }
   2014 
   2015 void CallLogWrapper::glGetIntegerv (glw::GLenum pname, glw::GLint *data)
   2016 {
   2017 	if (m_enableLog)
   2018 		m_log << TestLog::Message << "glGetIntegerv(" << getGettableStateStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
   2019 	m_gl.getIntegerv(pname, data);
   2020 	if (m_enableLog)
   2021 		m_log << TestLog::Message << "// data = " << getPointerStr(data, getBasicQueryNumArgsOut(pname)) << TestLog::EndMessage;
   2022 }
   2023 
   2024 void CallLogWrapper::glGetInternalformatSampleivNV (glw::GLenum target, glw::GLenum internalformat, glw::GLsizei samples, glw::GLenum pname, glw::GLsizei bufSize, glw::GLint *params)
   2025 {
   2026 	if (m_enableLog)
   2027 		m_log << TestLog::Message << "glGetInternalformatSampleivNV(" << toHex(target) << ", " << toHex(internalformat) << ", " << samples << ", " << toHex(pname) << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2028 	m_gl.getInternalformatSampleivNV(target, internalformat, samples, pname, bufSize, params);
   2029 }
   2030 
   2031 void CallLogWrapper::glGetInternalformati64v (glw::GLenum target, glw::GLenum internalformat, glw::GLenum pname, glw::GLsizei bufSize, glw::GLint64 *params)
   2032 {
   2033 	if (m_enableLog)
   2034 		m_log << TestLog::Message << "glGetInternalformati64v(" << toHex(target) << ", " << toHex(internalformat) << ", " << toHex(pname) << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2035 	m_gl.getInternalformati64v(target, internalformat, pname, bufSize, params);
   2036 }
   2037 
   2038 void CallLogWrapper::glGetInternalformativ (glw::GLenum target, glw::GLenum internalformat, glw::GLenum pname, glw::GLsizei bufSize, glw::GLint *params)
   2039 {
   2040 	if (m_enableLog)
   2041 		m_log << TestLog::Message << "glGetInternalformativ(" << getInternalFormatTargetStr(target) << ", " << getUncompressedTextureFormatStr(internalformat) << ", " << getInternalFormatParameterStr(pname) << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2042 	m_gl.getInternalformativ(target, internalformat, pname, bufSize, params);
   2043 	if (m_enableLog)
   2044 		m_log << TestLog::Message << "// params = " << getPointerStr(params, bufSize) << TestLog::EndMessage;
   2045 }
   2046 
   2047 void CallLogWrapper::glGetMultiTexEnvfvEXT (glw::GLenum texunit, glw::GLenum target, glw::GLenum pname, glw::GLfloat *params)
   2048 {
   2049 	if (m_enableLog)
   2050 		m_log << TestLog::Message << "glGetMultiTexEnvfvEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2051 	m_gl.getMultiTexEnvfvEXT(texunit, target, pname, params);
   2052 }
   2053 
   2054 void CallLogWrapper::glGetMultiTexEnvivEXT (glw::GLenum texunit, glw::GLenum target, glw::GLenum pname, glw::GLint *params)
   2055 {
   2056 	if (m_enableLog)
   2057 		m_log << TestLog::Message << "glGetMultiTexEnvivEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2058 	m_gl.getMultiTexEnvivEXT(texunit, target, pname, params);
   2059 }
   2060 
   2061 void CallLogWrapper::glGetMultiTexGendvEXT (glw::GLenum texunit, glw::GLenum coord, glw::GLenum pname, glw::GLdouble *params)
   2062 {
   2063 	if (m_enableLog)
   2064 		m_log << TestLog::Message << "glGetMultiTexGendvEXT(" << toHex(texunit) << ", " << toHex(coord) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2065 	m_gl.getMultiTexGendvEXT(texunit, coord, pname, params);
   2066 }
   2067 
   2068 void CallLogWrapper::glGetMultiTexGenfvEXT (glw::GLenum texunit, glw::GLenum coord, glw::GLenum pname, glw::GLfloat *params)
   2069 {
   2070 	if (m_enableLog)
   2071 		m_log << TestLog::Message << "glGetMultiTexGenfvEXT(" << toHex(texunit) << ", " << toHex(coord) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2072 	m_gl.getMultiTexGenfvEXT(texunit, coord, pname, params);
   2073 }
   2074 
   2075 void CallLogWrapper::glGetMultiTexGenivEXT (glw::GLenum texunit, glw::GLenum coord, glw::GLenum pname, glw::GLint *params)
   2076 {
   2077 	if (m_enableLog)
   2078 		m_log << TestLog::Message << "glGetMultiTexGenivEXT(" << toHex(texunit) << ", " << toHex(coord) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2079 	m_gl.getMultiTexGenivEXT(texunit, coord, pname, params);
   2080 }
   2081 
   2082 void CallLogWrapper::glGetMultiTexImageEXT (glw::GLenum texunit, glw::GLenum target, glw::GLint level, glw::GLenum format, glw::GLenum type, void *pixels)
   2083 {
   2084 	if (m_enableLog)
   2085 		m_log << TestLog::Message << "glGetMultiTexImageEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << level << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
   2086 	m_gl.getMultiTexImageEXT(texunit, target, level, format, type, pixels);
   2087 }
   2088 
   2089 void CallLogWrapper::glGetMultiTexLevelParameterfvEXT (glw::GLenum texunit, glw::GLenum target, glw::GLint level, glw::GLenum pname, glw::GLfloat *params)
   2090 {
   2091 	if (m_enableLog)
   2092 		m_log << TestLog::Message << "glGetMultiTexLevelParameterfvEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << level << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2093 	m_gl.getMultiTexLevelParameterfvEXT(texunit, target, level, pname, params);
   2094 }
   2095 
   2096 void CallLogWrapper::glGetMultiTexLevelParameterivEXT (glw::GLenum texunit, glw::GLenum target, glw::GLint level, glw::GLenum pname, glw::GLint *params)
   2097 {
   2098 	if (m_enableLog)
   2099 		m_log << TestLog::Message << "glGetMultiTexLevelParameterivEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << level << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2100 	m_gl.getMultiTexLevelParameterivEXT(texunit, target, level, pname, params);
   2101 }
   2102 
   2103 void CallLogWrapper::glGetMultiTexParameterIivEXT (glw::GLenum texunit, glw::GLenum target, glw::GLenum pname, glw::GLint *params)
   2104 {
   2105 	if (m_enableLog)
   2106 		m_log << TestLog::Message << "glGetMultiTexParameterIivEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2107 	m_gl.getMultiTexParameterIivEXT(texunit, target, pname, params);
   2108 }
   2109 
   2110 void CallLogWrapper::glGetMultiTexParameterIuivEXT (glw::GLenum texunit, glw::GLenum target, glw::GLenum pname, glw::GLuint *params)
   2111 {
   2112 	if (m_enableLog)
   2113 		m_log << TestLog::Message << "glGetMultiTexParameterIuivEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2114 	m_gl.getMultiTexParameterIuivEXT(texunit, target, pname, params);
   2115 }
   2116 
   2117 void CallLogWrapper::glGetMultiTexParameterfvEXT (glw::GLenum texunit, glw::GLenum target, glw::GLenum pname, glw::GLfloat *params)
   2118 {
   2119 	if (m_enableLog)
   2120 		m_log << TestLog::Message << "glGetMultiTexParameterfvEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2121 	m_gl.getMultiTexParameterfvEXT(texunit, target, pname, params);
   2122 }
   2123 
   2124 void CallLogWrapper::glGetMultiTexParameterivEXT (glw::GLenum texunit, glw::GLenum target, glw::GLenum pname, glw::GLint *params)
   2125 {
   2126 	if (m_enableLog)
   2127 		m_log << TestLog::Message << "glGetMultiTexParameterivEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2128 	m_gl.getMultiTexParameterivEXT(texunit, target, pname, params);
   2129 }
   2130 
   2131 void CallLogWrapper::glGetMultisamplefv (glw::GLenum pname, glw::GLuint index, glw::GLfloat *val)
   2132 {
   2133 	if (m_enableLog)
   2134 		m_log << TestLog::Message << "glGetMultisamplefv(" << getMultisampleParameterStr(pname) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(val))) << ");" << TestLog::EndMessage;
   2135 	m_gl.getMultisamplefv(pname, index, val);
   2136 	if (m_enableLog)
   2137 		m_log << TestLog::Message << "// val = " << getPointerStr(val, 2) << TestLog::EndMessage;
   2138 }
   2139 
   2140 void CallLogWrapper::glGetNamedBufferParameteri64v (glw::GLuint buffer, glw::GLenum pname, glw::GLint64 *params)
   2141 {
   2142 	if (m_enableLog)
   2143 		m_log << TestLog::Message << "glGetNamedBufferParameteri64v(" << buffer << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2144 	m_gl.getNamedBufferParameteri64v(buffer, pname, params);
   2145 }
   2146 
   2147 void CallLogWrapper::glGetNamedBufferParameteriv (glw::GLuint buffer, glw::GLenum pname, glw::GLint *params)
   2148 {
   2149 	if (m_enableLog)
   2150 		m_log << TestLog::Message << "glGetNamedBufferParameteriv(" << buffer << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2151 	m_gl.getNamedBufferParameteriv(buffer, pname, params);
   2152 }
   2153 
   2154 void CallLogWrapper::glGetNamedBufferParameterivEXT (glw::GLuint buffer, glw::GLenum pname, glw::GLint *params)
   2155 {
   2156 	if (m_enableLog)
   2157 		m_log << TestLog::Message << "glGetNamedBufferParameterivEXT(" << buffer << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2158 	m_gl.getNamedBufferParameterivEXT(buffer, pname, params);
   2159 }
   2160 
   2161 void CallLogWrapper::glGetNamedBufferPointerv (glw::GLuint buffer, glw::GLenum pname, void **params)
   2162 {
   2163 	if (m_enableLog)
   2164 		m_log << TestLog::Message << "glGetNamedBufferPointerv(" << buffer << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2165 	m_gl.getNamedBufferPointerv(buffer, pname, params);
   2166 }
   2167 
   2168 void CallLogWrapper::glGetNamedBufferPointervEXT (glw::GLuint buffer, glw::GLenum pname, void **params)
   2169 {
   2170 	if (m_enableLog)
   2171 		m_log << TestLog::Message << "glGetNamedBufferPointervEXT(" << buffer << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2172 	m_gl.getNamedBufferPointervEXT(buffer, pname, params);
   2173 }
   2174 
   2175 void CallLogWrapper::glGetNamedBufferSubData (glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size, void *data)
   2176 {
   2177 	if (m_enableLog)
   2178 		m_log << TestLog::Message << "glGetNamedBufferSubData(" << buffer << ", " << offset << ", " << size << ", " << data << ");" << TestLog::EndMessage;
   2179 	m_gl.getNamedBufferSubData(buffer, offset, size, data);
   2180 }
   2181 
   2182 void CallLogWrapper::glGetNamedBufferSubDataEXT (glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size, void *data)
   2183 {
   2184 	if (m_enableLog)
   2185 		m_log << TestLog::Message << "glGetNamedBufferSubDataEXT(" << buffer << ", " << offset << ", " << size << ", " << data << ");" << TestLog::EndMessage;
   2186 	m_gl.getNamedBufferSubDataEXT(buffer, offset, size, data);
   2187 }
   2188 
   2189 void CallLogWrapper::glGetNamedFramebufferAttachmentParameteriv (glw::GLuint framebuffer, glw::GLenum attachment, glw::GLenum pname, glw::GLint *params)
   2190 {
   2191 	if (m_enableLog)
   2192 		m_log << TestLog::Message << "glGetNamedFramebufferAttachmentParameteriv(" << framebuffer << ", " << toHex(attachment) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2193 	m_gl.getNamedFramebufferAttachmentParameteriv(framebuffer, attachment, pname, params);
   2194 }
   2195 
   2196 void CallLogWrapper::glGetNamedFramebufferAttachmentParameterivEXT (glw::GLuint framebuffer, glw::GLenum attachment, glw::GLenum pname, glw::GLint *params)
   2197 {
   2198 	if (m_enableLog)
   2199 		m_log << TestLog::Message << "glGetNamedFramebufferAttachmentParameterivEXT(" << framebuffer << ", " << toHex(attachment) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2200 	m_gl.getNamedFramebufferAttachmentParameterivEXT(framebuffer, attachment, pname, params);
   2201 }
   2202 
   2203 void CallLogWrapper::glGetNamedFramebufferParameteriv (glw::GLuint framebuffer, glw::GLenum pname, glw::GLint *param)
   2204 {
   2205 	if (m_enableLog)
   2206 		m_log << TestLog::Message << "glGetNamedFramebufferParameteriv(" << framebuffer << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(param))) << ");" << TestLog::EndMessage;
   2207 	m_gl.getNamedFramebufferParameteriv(framebuffer, pname, param);
   2208 }
   2209 
   2210 void CallLogWrapper::glGetNamedFramebufferParameterivEXT (glw::GLuint framebuffer, glw::GLenum pname, glw::GLint *params)
   2211 {
   2212 	if (m_enableLog)
   2213 		m_log << TestLog::Message << "glGetNamedFramebufferParameterivEXT(" << framebuffer << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2214 	m_gl.getNamedFramebufferParameterivEXT(framebuffer, pname, params);
   2215 }
   2216 
   2217 void CallLogWrapper::glGetNamedProgramLocalParameterIivEXT (glw::GLuint program, glw::GLenum target, glw::GLuint index, glw::GLint *params)
   2218 {
   2219 	if (m_enableLog)
   2220 		m_log << TestLog::Message << "glGetNamedProgramLocalParameterIivEXT(" << program << ", " << toHex(target) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2221 	m_gl.getNamedProgramLocalParameterIivEXT(program, target, index, params);
   2222 }
   2223 
   2224 void CallLogWrapper::glGetNamedProgramLocalParameterIuivEXT (glw::GLuint program, glw::GLenum target, glw::GLuint index, glw::GLuint *params)
   2225 {
   2226 	if (m_enableLog)
   2227 		m_log << TestLog::Message << "glGetNamedProgramLocalParameterIuivEXT(" << program << ", " << toHex(target) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2228 	m_gl.getNamedProgramLocalParameterIuivEXT(program, target, index, params);
   2229 }
   2230 
   2231 void CallLogWrapper::glGetNamedProgramLocalParameterdvEXT (glw::GLuint program, glw::GLenum target, glw::GLuint index, glw::GLdouble *params)
   2232 {
   2233 	if (m_enableLog)
   2234 		m_log << TestLog::Message << "glGetNamedProgramLocalParameterdvEXT(" << program << ", " << toHex(target) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2235 	m_gl.getNamedProgramLocalParameterdvEXT(program, target, index, params);
   2236 }
   2237 
   2238 void CallLogWrapper::glGetNamedProgramLocalParameterfvEXT (glw::GLuint program, glw::GLenum target, glw::GLuint index, glw::GLfloat *params)
   2239 {
   2240 	if (m_enableLog)
   2241 		m_log << TestLog::Message << "glGetNamedProgramLocalParameterfvEXT(" << program << ", " << toHex(target) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2242 	m_gl.getNamedProgramLocalParameterfvEXT(program, target, index, params);
   2243 }
   2244 
   2245 void CallLogWrapper::glGetNamedProgramStringEXT (glw::GLuint program, glw::GLenum target, glw::GLenum pname, void *string)
   2246 {
   2247 	if (m_enableLog)
   2248 		m_log << TestLog::Message << "glGetNamedProgramStringEXT(" << program << ", " << toHex(target) << ", " << toHex(pname) << ", " << string << ");" << TestLog::EndMessage;
   2249 	m_gl.getNamedProgramStringEXT(program, target, pname, string);
   2250 }
   2251 
   2252 void CallLogWrapper::glGetNamedProgramivEXT (glw::GLuint program, glw::GLenum target, glw::GLenum pname, glw::GLint *params)
   2253 {
   2254 	if (m_enableLog)
   2255 		m_log << TestLog::Message << "glGetNamedProgramivEXT(" << program << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2256 	m_gl.getNamedProgramivEXT(program, target, pname, params);
   2257 }
   2258 
   2259 void CallLogWrapper::glGetNamedRenderbufferParameteriv (glw::GLuint renderbuffer, glw::GLenum pname, glw::GLint *params)
   2260 {
   2261 	if (m_enableLog)
   2262 		m_log << TestLog::Message << "glGetNamedRenderbufferParameteriv(" << renderbuffer << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2263 	m_gl.getNamedRenderbufferParameteriv(renderbuffer, pname, params);
   2264 }
   2265 
   2266 void CallLogWrapper::glGetNamedRenderbufferParameterivEXT (glw::GLuint renderbuffer, glw::GLenum pname, glw::GLint *params)
   2267 {
   2268 	if (m_enableLog)
   2269 		m_log << TestLog::Message << "glGetNamedRenderbufferParameterivEXT(" << renderbuffer << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2270 	m_gl.getNamedRenderbufferParameterivEXT(renderbuffer, pname, params);
   2271 }
   2272 
   2273 void CallLogWrapper::glGetObjectLabel (glw::GLenum identifier, glw::GLuint name, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLchar *label)
   2274 {
   2275 	if (m_enableLog)
   2276 		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;
   2277 	m_gl.getObjectLabel(identifier, name, bufSize, length, label);
   2278 }
   2279 
   2280 void CallLogWrapper::glGetObjectPtrLabel (const void *ptr, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLchar *label)
   2281 {
   2282 	if (m_enableLog)
   2283 		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;
   2284 	m_gl.getObjectPtrLabel(ptr, bufSize, length, label);
   2285 }
   2286 
   2287 void CallLogWrapper::glGetPointerIndexedvEXT (glw::GLenum target, glw::GLuint index, void **data)
   2288 {
   2289 	if (m_enableLog)
   2290 		m_log << TestLog::Message << "glGetPointerIndexedvEXT(" << toHex(target) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(data))) << ");" << TestLog::EndMessage;
   2291 	m_gl.getPointerIndexedvEXT(target, index, data);
   2292 }
   2293 
   2294 void CallLogWrapper::glGetPointeri_vEXT (glw::GLenum pname, glw::GLuint index, void **params)
   2295 {
   2296 	if (m_enableLog)
   2297 		m_log << TestLog::Message << "glGetPointeri_vEXT(" << toHex(pname) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2298 	m_gl.getPointeri_vEXT(pname, index, params);
   2299 }
   2300 
   2301 void CallLogWrapper::glGetPointerv (glw::GLenum pname, void **params)
   2302 {
   2303 	if (m_enableLog)
   2304 		m_log << TestLog::Message << "glGetPointerv(" << getPointerStateStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2305 	m_gl.getPointerv(pname, params);
   2306 	if (m_enableLog)
   2307 		m_log << TestLog::Message << "// params = " << getPointerStr(params, 1) << TestLog::EndMessage;
   2308 }
   2309 
   2310 void CallLogWrapper::glGetProgramBinary (glw::GLuint program, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLenum *binaryFormat, void *binary)
   2311 {
   2312 	if (m_enableLog)
   2313 		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;
   2314 	m_gl.getProgramBinary(program, bufSize, length, binaryFormat, binary);
   2315 }
   2316 
   2317 void CallLogWrapper::glGetProgramInfoLog (glw::GLuint program, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLchar *infoLog)
   2318 {
   2319 	if (m_enableLog)
   2320 		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;
   2321 	m_gl.getProgramInfoLog(program, bufSize, length, infoLog);
   2322 	if (m_enableLog)
   2323 		m_log << TestLog::Message << "// length = " << getPointerStr(length, 1) << TestLog::EndMessage;
   2324 }
   2325 
   2326 void CallLogWrapper::glGetProgramInterfaceiv (glw::GLuint program, glw::GLenum programInterface, glw::GLenum pname, glw::GLint *params)
   2327 {
   2328 	if (m_enableLog)
   2329 		m_log << TestLog::Message << "glGetProgramInterfaceiv(" << program << ", " << toHex(programInterface) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2330 	m_gl.getProgramInterfaceiv(program, programInterface, pname, params);
   2331 }
   2332 
   2333 void CallLogWrapper::glGetProgramPipelineInfoLog (glw::GLuint pipeline, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLchar *infoLog)
   2334 {
   2335 	if (m_enableLog)
   2336 		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;
   2337 	m_gl.getProgramPipelineInfoLog(pipeline, bufSize, length, infoLog);
   2338 	if (m_enableLog)
   2339 		m_log << TestLog::Message << "// length = " << getPointerStr(length, 1) << TestLog::EndMessage;
   2340 }
   2341 
   2342 void CallLogWrapper::glGetProgramPipelineiv (glw::GLuint pipeline, glw::GLenum pname, glw::GLint *params)
   2343 {
   2344 	if (m_enableLog)
   2345 		m_log << TestLog::Message << "glGetProgramPipelineiv(" << pipeline << ", " << getPipelineParamStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2346 	m_gl.getProgramPipelineiv(pipeline, pname, params);
   2347 	if (m_enableLog)
   2348 		m_log << TestLog::Message << "// params = " << getPointerStr(params, 1) << TestLog::EndMessage;
   2349 }
   2350 
   2351 glw::GLuint CallLogWrapper::glGetProgramResourceIndex (glw::GLuint program, glw::GLenum programInterface, const glw::GLchar *name)
   2352 {
   2353 	if (m_enableLog)
   2354 		m_log << TestLog::Message << "glGetProgramResourceIndex(" << program << ", " << getProgramInterfaceStr(programInterface) << ", " << getStringStr(name) << ");" << TestLog::EndMessage;
   2355 	glw::GLuint returnValue = m_gl.getProgramResourceIndex(program, programInterface, name);
   2356 	if (m_enableLog)
   2357 		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
   2358 	return returnValue;
   2359 }
   2360 
   2361 glw::GLint CallLogWrapper::glGetProgramResourceLocation (glw::GLuint program, glw::GLenum programInterface, const glw::GLchar *name)
   2362 {
   2363 	if (m_enableLog)
   2364 		m_log << TestLog::Message << "glGetProgramResourceLocation(" << program << ", " << toHex(programInterface) << ", " << getStringStr(name) << ");" << TestLog::EndMessage;
   2365 	glw::GLint returnValue = m_gl.getProgramResourceLocation(program, programInterface, name);
   2366 	if (m_enableLog)
   2367 		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
   2368 	return returnValue;
   2369 }
   2370 
   2371 glw::GLint CallLogWrapper::glGetProgramResourceLocationIndex (glw::GLuint program, glw::GLenum programInterface, const glw::GLchar *name)
   2372 {
   2373 	if (m_enableLog)
   2374 		m_log << TestLog::Message << "glGetProgramResourceLocationIndex(" << program << ", " << toHex(programInterface) << ", " << getStringStr(name) << ");" << TestLog::EndMessage;
   2375 	glw::GLint returnValue = m_gl.getProgramResourceLocationIndex(program, programInterface, name);
   2376 	if (m_enableLog)
   2377 		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
   2378 	return returnValue;
   2379 }
   2380 
   2381 void CallLogWrapper::glGetProgramResourceName (glw::GLuint program, glw::GLenum programInterface, glw::GLuint index, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLchar *name)
   2382 {
   2383 	if (m_enableLog)
   2384 		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;
   2385 	m_gl.getProgramResourceName(program, programInterface, index, bufSize, length, name);
   2386 }
   2387 
   2388 void 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)
   2389 {
   2390 	if (m_enableLog)
   2391 		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;
   2392 	m_gl.getProgramResourceiv(program, programInterface, index, propCount, props, bufSize, length, params);
   2393 	if (m_enableLog)
   2394 	{
   2395 		m_log << TestLog::Message << "// length = " << getPointerStr(length, 1) << TestLog::EndMessage;
   2396 		m_log << TestLog::Message << "// params = " << getPointerStr(params, ((length == DE_NULL) ? (bufSize) : ((bufSize < *length) ? (bufSize) : (*length)))) << TestLog::EndMessage;
   2397 	}
   2398 }
   2399 
   2400 void CallLogWrapper::glGetProgramStageiv (glw::GLuint program, glw::GLenum shadertype, glw::GLenum pname, glw::GLint *values)
   2401 {
   2402 	if (m_enableLog)
   2403 		m_log << TestLog::Message << "glGetProgramStageiv(" << program << ", " << toHex(shadertype) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(values))) << ");" << TestLog::EndMessage;
   2404 	m_gl.getProgramStageiv(program, shadertype, pname, values);
   2405 }
   2406 
   2407 void CallLogWrapper::glGetProgramiv (glw::GLuint program, glw::GLenum pname, glw::GLint *params)
   2408 {
   2409 	if (m_enableLog)
   2410 		m_log << TestLog::Message << "glGetProgramiv(" << program << ", " << getProgramParamStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2411 	m_gl.getProgramiv(program, pname, params);
   2412 	if (m_enableLog)
   2413 		m_log << TestLog::Message << "// params = " << getPointerStr(params, getProgramQueryNumArgsOut(pname)) << TestLog::EndMessage;
   2414 }
   2415 
   2416 void CallLogWrapper::glGetQueryBufferObjecti64v (glw::GLuint id, glw::GLuint buffer, glw::GLenum pname, glw::GLintptr offset)
   2417 {
   2418 	if (m_enableLog)
   2419 		m_log << TestLog::Message << "glGetQueryBufferObjecti64v(" << id << ", " << buffer << ", " << toHex(pname) << ", " << offset << ");" << TestLog::EndMessage;
   2420 	m_gl.getQueryBufferObjecti64v(id, buffer, pname, offset);
   2421 }
   2422 
   2423 void CallLogWrapper::glGetQueryBufferObjectiv (glw::GLuint id, glw::GLuint buffer, glw::GLenum pname, glw::GLintptr offset)
   2424 {
   2425 	if (m_enableLog)
   2426 		m_log << TestLog::Message << "glGetQueryBufferObjectiv(" << id << ", " << buffer << ", " << toHex(pname) << ", " << offset << ");" << TestLog::EndMessage;
   2427 	m_gl.getQueryBufferObjectiv(id, buffer, pname, offset);
   2428 }
   2429 
   2430 void CallLogWrapper::glGetQueryBufferObjectui64v (glw::GLuint id, glw::GLuint buffer, glw::GLenum pname, glw::GLintptr offset)
   2431 {
   2432 	if (m_enableLog)
   2433 		m_log << TestLog::Message << "glGetQueryBufferObjectui64v(" << id << ", " << buffer << ", " << toHex(pname) << ", " << offset << ");" << TestLog::EndMessage;
   2434 	m_gl.getQueryBufferObjectui64v(id, buffer, pname, offset);
   2435 }
   2436 
   2437 void CallLogWrapper::glGetQueryBufferObjectuiv (glw::GLuint id, glw::GLuint buffer, glw::GLenum pname, glw::GLintptr offset)
   2438 {
   2439 	if (m_enableLog)
   2440 		m_log << TestLog::Message << "glGetQueryBufferObjectuiv(" << id << ", " << buffer << ", " << toHex(pname) << ", " << offset << ");" << TestLog::EndMessage;
   2441 	m_gl.getQueryBufferObjectuiv(id, buffer, pname, offset);
   2442 }
   2443 
   2444 void CallLogWrapper::glGetQueryIndexediv (glw::GLenum target, glw::GLuint index, glw::GLenum pname, glw::GLint *params)
   2445 {
   2446 	if (m_enableLog)
   2447 		m_log << TestLog::Message << "glGetQueryIndexediv(" << toHex(target) << ", " << index << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2448 	m_gl.getQueryIndexediv(target, index, pname, params);
   2449 }
   2450 
   2451 void CallLogWrapper::glGetQueryObjecti64v (glw::GLuint id, glw::GLenum pname, glw::GLint64 *params)
   2452 {
   2453 	if (m_enableLog)
   2454 		m_log << TestLog::Message << "glGetQueryObjecti64v(" << id << ", " << getQueryObjectParamStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2455 	m_gl.getQueryObjecti64v(id, pname, params);
   2456 	if (m_enableLog)
   2457 		m_log << TestLog::Message << "// params = " << getPointerStr(params, 1) << TestLog::EndMessage;
   2458 }
   2459 
   2460 void CallLogWrapper::glGetQueryObjectiv (glw::GLuint id, glw::GLenum pname, glw::GLint *params)
   2461 {
   2462 	if (m_enableLog)
   2463 		m_log << TestLog::Message << "glGetQueryObjectiv(" << id << ", " << getQueryObjectParamStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2464 	m_gl.getQueryObjectiv(id, pname, params);
   2465 	if (m_enableLog)
   2466 		m_log << TestLog::Message << "// params = " << getPointerStr(params, 1) << TestLog::EndMessage;
   2467 }
   2468 
   2469 void CallLogWrapper::glGetQueryObjectui64v (glw::GLuint id, glw::GLenum pname, glw::GLuint64 *params)
   2470 {
   2471 	if (m_enableLog)
   2472 		m_log << TestLog::Message << "glGetQueryObjectui64v(" << id << ", " << getQueryObjectParamStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2473 	m_gl.getQueryObjectui64v(id, pname, params);
   2474 	if (m_enableLog)
   2475 		m_log << TestLog::Message << "// params = " << getPointerStr(params, 1) << TestLog::EndMessage;
   2476 }
   2477 
   2478 void CallLogWrapper::glGetQueryObjectuiv (glw::GLuint id, glw::GLenum pname, glw::GLuint *params)
   2479 {
   2480 	if (m_enableLog)
   2481 		m_log << TestLog::Message << "glGetQueryObjectuiv(" << id << ", " << getQueryObjectParamStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2482 	m_gl.getQueryObjectuiv(id, pname, params);
   2483 	if (m_enableLog)
   2484 		m_log << TestLog::Message << "// params = " << getPointerStr(params, 1) << TestLog::EndMessage;
   2485 }
   2486 
   2487 void CallLogWrapper::glGetQueryiv (glw::GLenum target, glw::GLenum pname, glw::GLint *params)
   2488 {
   2489 	if (m_enableLog)
   2490 		m_log << TestLog::Message << "glGetQueryiv(" << getQueryTargetStr(target) << ", " << getQueryParamStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2491 	m_gl.getQueryiv(target, pname, params);
   2492 	if (m_enableLog)
   2493 		m_log << TestLog::Message << "// params = " << getPointerStr(params, 1) << TestLog::EndMessage;
   2494 }
   2495 
   2496 void CallLogWrapper::glGetRenderbufferParameteriv (glw::GLenum target, glw::GLenum pname, glw::GLint *params)
   2497 {
   2498 	if (m_enableLog)
   2499 		m_log << TestLog::Message << "glGetRenderbufferParameteriv(" << getFramebufferTargetStr(target) << ", " << getRenderbufferParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2500 	m_gl.getRenderbufferParameteriv(target, pname, params);
   2501 }
   2502 
   2503 void CallLogWrapper::glGetSamplerParameterIiv (glw::GLuint sampler, glw::GLenum pname, glw::GLint *params)
   2504 {
   2505 	if (m_enableLog)
   2506 		m_log << TestLog::Message << "glGetSamplerParameterIiv(" << sampler << ", " << getTextureParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2507 	m_gl.getSamplerParameterIiv(sampler, pname, params);
   2508 	if (m_enableLog)
   2509 		m_log << TestLog::Message << "// params = " << getPointerStr(params, getTextureParamQueryNumArgsOut(pname)) << TestLog::EndMessage;
   2510 }
   2511 
   2512 void CallLogWrapper::glGetSamplerParameterIuiv (glw::GLuint sampler, glw::GLenum pname, glw::GLuint *params)
   2513 {
   2514 	if (m_enableLog)
   2515 		m_log << TestLog::Message << "glGetSamplerParameterIuiv(" << sampler << ", " << getTextureParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2516 	m_gl.getSamplerParameterIuiv(sampler, pname, params);
   2517 	if (m_enableLog)
   2518 		m_log << TestLog::Message << "// params = " << getPointerStr(params, getTextureParamQueryNumArgsOut(pname)) << TestLog::EndMessage;
   2519 }
   2520 
   2521 void CallLogWrapper::glGetSamplerParameterfv (glw::GLuint sampler, glw::GLenum pname, glw::GLfloat *params)
   2522 {
   2523 	if (m_enableLog)
   2524 		m_log << TestLog::Message << "glGetSamplerParameterfv(" << sampler << ", " << getTextureParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2525 	m_gl.getSamplerParameterfv(sampler, pname, params);
   2526 	if (m_enableLog)
   2527 		m_log << TestLog::Message << "// params = " << getPointerStr(params, getTextureParamQueryNumArgsOut(pname)) << TestLog::EndMessage;
   2528 }
   2529 
   2530 void CallLogWrapper::glGetSamplerParameteriv (glw::GLuint sampler, glw::GLenum pname, glw::GLint *params)
   2531 {
   2532 	if (m_enableLog)
   2533 		m_log << TestLog::Message << "glGetSamplerParameteriv(" << sampler << ", " << getTextureParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2534 	m_gl.getSamplerParameteriv(sampler, pname, params);
   2535 	if (m_enableLog)
   2536 		m_log << TestLog::Message << "// params = " << getPointerStr(params, getTextureParamQueryNumArgsOut(pname)) << TestLog::EndMessage;
   2537 }
   2538 
   2539 void CallLogWrapper::glGetShaderInfoLog (glw::GLuint shader, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLchar *infoLog)
   2540 {
   2541 	if (m_enableLog)
   2542 		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;
   2543 	m_gl.getShaderInfoLog(shader, bufSize, length, infoLog);
   2544 	if (m_enableLog)
   2545 		m_log << TestLog::Message << "// length = " << getPointerStr(length, 1) << TestLog::EndMessage;
   2546 }
   2547 
   2548 void CallLogWrapper::glGetShaderPrecisionFormat (glw::GLenum shadertype, glw::GLenum precisiontype, glw::GLint *range, glw::GLint *precision)
   2549 {
   2550 	if (m_enableLog)
   2551 		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;
   2552 	m_gl.getShaderPrecisionFormat(shadertype, precisiontype, range, precision);
   2553 }
   2554 
   2555 void CallLogWrapper::glGetShaderSource (glw::GLuint shader, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLchar *source)
   2556 {
   2557 	if (m_enableLog)
   2558 		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;
   2559 	m_gl.getShaderSource(shader, bufSize, length, source);
   2560 }
   2561 
   2562 void CallLogWrapper::glGetShaderiv (glw::GLuint shader, glw::GLenum pname, glw::GLint *params)
   2563 {
   2564 	if (m_enableLog)
   2565 		m_log << TestLog::Message << "glGetShaderiv(" << shader << ", " << getShaderParamStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2566 	m_gl.getShaderiv(shader, pname, params);
   2567 	if (m_enableLog)
   2568 		m_log << TestLog::Message << "// params = " << getPointerStr(params, 1) << TestLog::EndMessage;
   2569 }
   2570 
   2571 const glw::GLubyte * CallLogWrapper::glGetString (glw::GLenum name)
   2572 {
   2573 	if (m_enableLog)
   2574 		m_log << TestLog::Message << "glGetString(" << getGettableStringStr(name) << ");" << TestLog::EndMessage;
   2575 	const glw::GLubyte * returnValue = m_gl.getString(name);
   2576 	if (m_enableLog)
   2577 		m_log << TestLog::Message << "// " << getStringStr(returnValue) << " returned" << TestLog::EndMessage;
   2578 	return returnValue;
   2579 }
   2580 
   2581 const glw::GLubyte * CallLogWrapper::glGetStringi (glw::GLenum name, glw::GLuint index)
   2582 {
   2583 	if (m_enableLog)
   2584 		m_log << TestLog::Message << "glGetStringi(" << getGettableStringStr(name) << ", " << index << ");" << TestLog::EndMessage;
   2585 	const glw::GLubyte * returnValue = m_gl.getStringi(name, index);
   2586 	if (m_enableLog)
   2587 		m_log << TestLog::Message << "// " << getStringStr(returnValue) << " returned" << TestLog::EndMessage;
   2588 	return returnValue;
   2589 }
   2590 
   2591 glw::GLuint CallLogWrapper::glGetSubroutineIndex (glw::GLuint program, glw::GLenum shadertype, const glw::GLchar *name)
   2592 {
   2593 	if (m_enableLog)
   2594 		m_log << TestLog::Message << "glGetSubroutineIndex(" << program << ", " << toHex(shadertype) << ", " << getStringStr(name) << ");" << TestLog::EndMessage;
   2595 	glw::GLuint returnValue = m_gl.getSubroutineIndex(program, shadertype, name);
   2596 	if (m_enableLog)
   2597 		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
   2598 	return returnValue;
   2599 }
   2600 
   2601 glw::GLint CallLogWrapper::glGetSubroutineUniformLocation (glw::GLuint program, glw::GLenum shadertype, const glw::GLchar *name)
   2602 {
   2603 	if (m_enableLog)
   2604 		m_log << TestLog::Message << "glGetSubroutineUniformLocation(" << program << ", " << toHex(shadertype) << ", " << getStringStr(name) << ");" << TestLog::EndMessage;
   2605 	glw::GLint returnValue = m_gl.getSubroutineUniformLocation(program, shadertype, name);
   2606 	if (m_enableLog)
   2607 		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
   2608 	return returnValue;
   2609 }
   2610 
   2611 void CallLogWrapper::glGetSynciv (glw::GLsync sync, glw::GLenum pname, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLint *values)
   2612 {
   2613 	if (m_enableLog)
   2614 		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;
   2615 	m_gl.getSynciv(sync, pname, bufSize, length, values);
   2616 }
   2617 
   2618 void CallLogWrapper::glGetTexImage (glw::GLenum target, glw::GLint level, glw::GLenum format, glw::GLenum type, void *pixels)
   2619 {
   2620 	if (m_enableLog)
   2621 		m_log << TestLog::Message << "glGetTexImage(" << toHex(target) << ", " << level << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
   2622 	m_gl.getTexImage(target, level, format, type, pixels);
   2623 }
   2624 
   2625 void CallLogWrapper::glGetTexLevelParameterfv (glw::GLenum target, glw::GLint level, glw::GLenum pname, glw::GLfloat *params)
   2626 {
   2627 	if (m_enableLog)
   2628 		m_log << TestLog::Message << "glGetTexLevelParameterfv(" << getTextureTargetStr(target) << ", " << level << ", " << getTextureLevelParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2629 	m_gl.getTexLevelParameterfv(target, level, pname, params);
   2630 	if (m_enableLog)
   2631 		m_log << TestLog::Message << "// params = " << getPointerStr(params, 1) << TestLog::EndMessage;
   2632 }
   2633 
   2634 void CallLogWrapper::glGetTexLevelParameteriv (glw::GLenum target, glw::GLint level, glw::GLenum pname, glw::GLint *params)
   2635 {
   2636 	if (m_enableLog)
   2637 		m_log << TestLog::Message << "glGetTexLevelParameteriv(" << getTextureTargetStr(target) << ", " << level << ", " << getTextureLevelParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2638 	m_gl.getTexLevelParameteriv(target, level, pname, params);
   2639 	if (m_enableLog)
   2640 		m_log << TestLog::Message << "// params = " << getPointerStr(params, 1) << TestLog::EndMessage;
   2641 }
   2642 
   2643 void CallLogWrapper::glGetTexParameterIiv (glw::GLenum target, glw::GLenum pname, glw::GLint *params)
   2644 {
   2645 	if (m_enableLog)
   2646 		m_log << TestLog::Message << "glGetTexParameterIiv(" << getTextureTargetStr(target) << ", " << getTextureParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2647 	m_gl.getTexParameterIiv(target, pname, params);
   2648 	if (m_enableLog)
   2649 		m_log << TestLog::Message << "// params = " << getPointerStr(params, getTextureParamQueryNumArgsOut(pname)) << TestLog::EndMessage;
   2650 }
   2651 
   2652 void CallLogWrapper::glGetTexParameterIuiv (glw::GLenum target, glw::GLenum pname, glw::GLuint *params)
   2653 {
   2654 	if (m_enableLog)
   2655 		m_log << TestLog::Message << "glGetTexParameterIuiv(" << getTextureTargetStr(target) << ", " << getTextureParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2656 	m_gl.getTexParameterIuiv(target, pname, params);
   2657 	if (m_enableLog)
   2658 		m_log << TestLog::Message << "// params = " << getPointerStr(params, getTextureParamQueryNumArgsOut(pname)) << TestLog::EndMessage;
   2659 }
   2660 
   2661 void CallLogWrapper::glGetTexParameterfv (glw::GLenum target, glw::GLenum pname, glw::GLfloat *params)
   2662 {
   2663 	if (m_enableLog)
   2664 		m_log << TestLog::Message << "glGetTexParameterfv(" << getTextureTargetStr(target) << ", " << getTextureParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2665 	m_gl.getTexParameterfv(target, pname, params);
   2666 	if (m_enableLog)
   2667 		m_log << TestLog::Message << "// params = " << getPointerStr(params, getTextureParamQueryNumArgsOut(pname)) << TestLog::EndMessage;
   2668 }
   2669 
   2670 void CallLogWrapper::glGetTexParameteriv (glw::GLenum target, glw::GLenum pname, glw::GLint *params)
   2671 {
   2672 	if (m_enableLog)
   2673 		m_log << TestLog::Message << "glGetTexParameteriv(" << getTextureTargetStr(target) << ", " << getTextureParameterStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2674 	m_gl.getTexParameteriv(target, pname, params);
   2675 	if (m_enableLog)
   2676 		m_log << TestLog::Message << "// params = " << getPointerStr(params, getTextureParamQueryNumArgsOut(pname)) << TestLog::EndMessage;
   2677 }
   2678 
   2679 void CallLogWrapper::glGetTextureImage (glw::GLuint texture, glw::GLint level, glw::GLenum format, glw::GLenum type, glw::GLsizei bufSize, void *pixels)
   2680 {
   2681 	if (m_enableLog)
   2682 		m_log << TestLog::Message << "glGetTextureImage(" << texture << ", " << level << ", " << toHex(format) << ", " << toHex(type) << ", " << bufSize << ", " << pixels << ");" << TestLog::EndMessage;
   2683 	m_gl.getTextureImage(texture, level, format, type, bufSize, pixels);
   2684 }
   2685 
   2686 void CallLogWrapper::glGetTextureImageEXT (glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLenum format, glw::GLenum type, void *pixels)
   2687 {
   2688 	if (m_enableLog)
   2689 		m_log << TestLog::Message << "glGetTextureImageEXT(" << texture << ", " << toHex(target) << ", " << level << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
   2690 	m_gl.getTextureImageEXT(texture, target, level, format, type, pixels);
   2691 }
   2692 
   2693 void CallLogWrapper::glGetTextureLevelParameterfv (glw::GLuint texture, glw::GLint level, glw::GLenum pname, glw::GLfloat *params)
   2694 {
   2695 	if (m_enableLog)
   2696 		m_log << TestLog::Message << "glGetTextureLevelParameterfv(" << texture << ", " << level << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2697 	m_gl.getTextureLevelParameterfv(texture, level, pname, params);
   2698 }
   2699 
   2700 void CallLogWrapper::glGetTextureLevelParameterfvEXT (glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLenum pname, glw::GLfloat *params)
   2701 {
   2702 	if (m_enableLog)
   2703 		m_log << TestLog::Message << "glGetTextureLevelParameterfvEXT(" << texture << ", " << toHex(target) << ", " << level << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2704 	m_gl.getTextureLevelParameterfvEXT(texture, target, level, pname, params);
   2705 }
   2706 
   2707 void CallLogWrapper::glGetTextureLevelParameteriv (glw::GLuint texture, glw::GLint level, glw::GLenum pname, glw::GLint *params)
   2708 {
   2709 	if (m_enableLog)
   2710 		m_log << TestLog::Message << "glGetTextureLevelParameteriv(" << texture << ", " << level << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2711 	m_gl.getTextureLevelParameteriv(texture, level, pname, params);
   2712 }
   2713 
   2714 void CallLogWrapper::glGetTextureLevelParameterivEXT (glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLenum pname, glw::GLint *params)
   2715 {
   2716 	if (m_enableLog)
   2717 		m_log << TestLog::Message << "glGetTextureLevelParameterivEXT(" << texture << ", " << toHex(target) << ", " << level << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2718 	m_gl.getTextureLevelParameterivEXT(texture, target, level, pname, params);
   2719 }
   2720 
   2721 void CallLogWrapper::glGetTextureParameterIiv (glw::GLuint texture, glw::GLenum pname, glw::GLint *params)
   2722 {
   2723 	if (m_enableLog)
   2724 		m_log << TestLog::Message << "glGetTextureParameterIiv(" << texture << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2725 	m_gl.getTextureParameterIiv(texture, pname, params);
   2726 }
   2727 
   2728 void CallLogWrapper::glGetTextureParameterIivEXT (glw::GLuint texture, glw::GLenum target, glw::GLenum pname, glw::GLint *params)
   2729 {
   2730 	if (m_enableLog)
   2731 		m_log << TestLog::Message << "glGetTextureParameterIivEXT(" << texture << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2732 	m_gl.getTextureParameterIivEXT(texture, target, pname, params);
   2733 }
   2734 
   2735 void CallLogWrapper::glGetTextureParameterIuiv (glw::GLuint texture, glw::GLenum pname, glw::GLuint *params)
   2736 {
   2737 	if (m_enableLog)
   2738 		m_log << TestLog::Message << "glGetTextureParameterIuiv(" << texture << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2739 	m_gl.getTextureParameterIuiv(texture, pname, params);
   2740 }
   2741 
   2742 void CallLogWrapper::glGetTextureParameterIuivEXT (glw::GLuint texture, glw::GLenum target, glw::GLenum pname, glw::GLuint *params)
   2743 {
   2744 	if (m_enableLog)
   2745 		m_log << TestLog::Message << "glGetTextureParameterIuivEXT(" << texture << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2746 	m_gl.getTextureParameterIuivEXT(texture, target, pname, params);
   2747 }
   2748 
   2749 void CallLogWrapper::glGetTextureParameterfv (glw::GLuint texture, glw::GLenum pname, glw::GLfloat *params)
   2750 {
   2751 	if (m_enableLog)
   2752 		m_log << TestLog::Message << "glGetTextureParameterfv(" << texture << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2753 	m_gl.getTextureParameterfv(texture, pname, params);
   2754 }
   2755 
   2756 void CallLogWrapper::glGetTextureParameterfvEXT (glw::GLuint texture, glw::GLenum target, glw::GLenum pname, glw::GLfloat *params)
   2757 {
   2758 	if (m_enableLog)
   2759 		m_log << TestLog::Message << "glGetTextureParameterfvEXT(" << texture << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2760 	m_gl.getTextureParameterfvEXT(texture, target, pname, params);
   2761 }
   2762 
   2763 void CallLogWrapper::glGetTextureParameteriv (glw::GLuint texture, glw::GLenum pname, glw::GLint *params)
   2764 {
   2765 	if (m_enableLog)
   2766 		m_log << TestLog::Message << "glGetTextureParameteriv(" << texture << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2767 	m_gl.getTextureParameteriv(texture, pname, params);
   2768 }
   2769 
   2770 void CallLogWrapper::glGetTextureParameterivEXT (glw::GLuint texture, glw::GLenum target, glw::GLenum pname, glw::GLint *params)
   2771 {
   2772 	if (m_enableLog)
   2773 		m_log << TestLog::Message << "glGetTextureParameterivEXT(" << texture << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2774 	m_gl.getTextureParameterivEXT(texture, target, pname, params);
   2775 }
   2776 
   2777 void 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)
   2778 {
   2779 	if (m_enableLog)
   2780 		m_log << TestLog::Message << "glGetTextureSubImage(" << texture << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ", " << toHex(format) << ", " << toHex(type) << ", " << bufSize << ", " << pixels << ");" << TestLog::EndMessage;
   2781 	m_gl.getTextureSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, bufSize, pixels);
   2782 }
   2783 
   2784 void CallLogWrapper::glGetTransformFeedbackVarying (glw::GLuint program, glw::GLuint index, glw::GLsizei bufSize, glw::GLsizei *length, glw::GLsizei *size, glw::GLenum *type, glw::GLchar *name)
   2785 {
   2786 	if (m_enableLog)
   2787 		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;
   2788 	m_gl.getTransformFeedbackVarying(program, index, bufSize, length, size, type, name);
   2789 }
   2790 
   2791 void CallLogWrapper::glGetTransformFeedbacki64_v (glw::GLuint xfb, glw::GLenum pname, glw::GLuint index, glw::GLint64 *param)
   2792 {
   2793 	if (m_enableLog)
   2794 		m_log << TestLog::Message << "glGetTransformFeedbacki64_v(" << xfb << ", " << toHex(pname) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(param))) << ");" << TestLog::EndMessage;
   2795 	m_gl.getTransformFeedbacki64_v(xfb, pname, index, param);
   2796 }
   2797 
   2798 void CallLogWrapper::glGetTransformFeedbacki_v (glw::GLuint xfb, glw::GLenum pname, glw::GLuint index, glw::GLint *param)
   2799 {
   2800 	if (m_enableLog)
   2801 		m_log << TestLog::Message << "glGetTransformFeedbacki_v(" << xfb << ", " << toHex(pname) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(param))) << ");" << TestLog::EndMessage;
   2802 	m_gl.getTransformFeedbacki_v(xfb, pname, index, param);
   2803 }
   2804 
   2805 void CallLogWrapper::glGetTransformFeedbackiv (glw::GLuint xfb, glw::GLenum pname, glw::GLint *param)
   2806 {
   2807 	if (m_enableLog)
   2808 		m_log << TestLog::Message << "glGetTransformFeedbackiv(" << xfb << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(param))) << ");" << TestLog::EndMessage;
   2809 	m_gl.getTransformFeedbackiv(xfb, pname, param);
   2810 }
   2811 
   2812 glw::GLuint CallLogWrapper::glGetUniformBlockIndex (glw::GLuint program, const glw::GLchar *uniformBlockName)
   2813 {
   2814 	if (m_enableLog)
   2815 		m_log << TestLog::Message << "glGetUniformBlockIndex(" << program << ", " << getStringStr(uniformBlockName) << ");" << TestLog::EndMessage;
   2816 	glw::GLuint returnValue = m_gl.getUniformBlockIndex(program, uniformBlockName);
   2817 	if (m_enableLog)
   2818 		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
   2819 	return returnValue;
   2820 }
   2821 
   2822 void CallLogWrapper::glGetUniformIndices (glw::GLuint program, glw::GLsizei uniformCount, const glw::GLchar *const*uniformNames, glw::GLuint *uniformIndices)
   2823 {
   2824 	if (m_enableLog)
   2825 		m_log << TestLog::Message << "glGetUniformIndices(" << program << ", " << uniformCount << ", " << getPointerStr(uniformNames, uniformCount) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(uniformIndices))) << ");" << TestLog::EndMessage;
   2826 	m_gl.getUniformIndices(program, uniformCount, uniformNames, uniformIndices);
   2827 	if (m_enableLog)
   2828 		m_log << TestLog::Message << "// uniformIndices = " << getPointerStr(uniformIndices, uniformCount) << TestLog::EndMessage;
   2829 }
   2830 
   2831 glw::GLint CallLogWrapper::glGetUniformLocation (glw::GLuint program, const glw::GLchar *name)
   2832 {
   2833 	if (m_enableLog)
   2834 		m_log << TestLog::Message << "glGetUniformLocation(" << program << ", " << getStringStr(name) << ");" << TestLog::EndMessage;
   2835 	glw::GLint returnValue = m_gl.getUniformLocation(program, name);
   2836 	if (m_enableLog)
   2837 		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
   2838 	return returnValue;
   2839 }
   2840 
   2841 void CallLogWrapper::glGetUniformSubroutineuiv (glw::GLenum shadertype, glw::GLint location, glw::GLuint *params)
   2842 {
   2843 	if (m_enableLog)
   2844 		m_log << TestLog::Message << "glGetUniformSubroutineuiv(" << toHex(shadertype) << ", " << location << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2845 	m_gl.getUniformSubroutineuiv(shadertype, location, params);
   2846 }
   2847 
   2848 void CallLogWrapper::glGetUniformdv (glw::GLuint program, glw::GLint location, glw::GLdouble *params)
   2849 {
   2850 	if (m_enableLog)
   2851 		m_log << TestLog::Message << "glGetUniformdv(" << program << ", " << location << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2852 	m_gl.getUniformdv(program, location, params);
   2853 }
   2854 
   2855 void CallLogWrapper::glGetUniformfv (glw::GLuint program, glw::GLint location, glw::GLfloat *params)
   2856 {
   2857 	if (m_enableLog)
   2858 		m_log << TestLog::Message << "glGetUniformfv(" << program << ", " << location << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2859 	m_gl.getUniformfv(program, location, params);
   2860 }
   2861 
   2862 void CallLogWrapper::glGetUniformiv (glw::GLuint program, glw::GLint location, glw::GLint *params)
   2863 {
   2864 	if (m_enableLog)
   2865 		m_log << TestLog::Message << "glGetUniformiv(" << program << ", " << location << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2866 	m_gl.getUniformiv(program, location, params);
   2867 }
   2868 
   2869 void CallLogWrapper::glGetUniformuiv (glw::GLuint program, glw::GLint location, glw::GLuint *params)
   2870 {
   2871 	if (m_enableLog)
   2872 		m_log << TestLog::Message << "glGetUniformuiv(" << program << ", " << location << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2873 	m_gl.getUniformuiv(program, location, params);
   2874 }
   2875 
   2876 void CallLogWrapper::glGetVertexArrayIndexed64iv (glw::GLuint vaobj, glw::GLuint index, glw::GLenum pname, glw::GLint64 *param)
   2877 {
   2878 	if (m_enableLog)
   2879 		m_log << TestLog::Message << "glGetVertexArrayIndexed64iv(" << vaobj << ", " << index << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(param))) << ");" << TestLog::EndMessage;
   2880 	m_gl.getVertexArrayIndexed64iv(vaobj, index, pname, param);
   2881 }
   2882 
   2883 void CallLogWrapper::glGetVertexArrayIndexediv (glw::GLuint vaobj, glw::GLuint index, glw::GLenum pname, glw::GLint *param)
   2884 {
   2885 	if (m_enableLog)
   2886 		m_log << TestLog::Message << "glGetVertexArrayIndexediv(" << vaobj << ", " << index << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(param))) << ");" << TestLog::EndMessage;
   2887 	m_gl.getVertexArrayIndexediv(vaobj, index, pname, param);
   2888 }
   2889 
   2890 void CallLogWrapper::glGetVertexArrayIntegeri_vEXT (glw::GLuint vaobj, glw::GLuint index, glw::GLenum pname, glw::GLint *param)
   2891 {
   2892 	if (m_enableLog)
   2893 		m_log << TestLog::Message << "glGetVertexArrayIntegeri_vEXT(" << vaobj << ", " << index << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(param))) << ");" << TestLog::EndMessage;
   2894 	m_gl.getVertexArrayIntegeri_vEXT(vaobj, index, pname, param);
   2895 }
   2896 
   2897 void CallLogWrapper::glGetVertexArrayIntegervEXT (glw::GLuint vaobj, glw::GLenum pname, glw::GLint *param)
   2898 {
   2899 	if (m_enableLog)
   2900 		m_log << TestLog::Message << "glGetVertexArrayIntegervEXT(" << vaobj << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(param))) << ");" << TestLog::EndMessage;
   2901 	m_gl.getVertexArrayIntegervEXT(vaobj, pname, param);
   2902 }
   2903 
   2904 void CallLogWrapper::glGetVertexArrayPointeri_vEXT (glw::GLuint vaobj, glw::GLuint index, glw::GLenum pname, void **param)
   2905 {
   2906 	if (m_enableLog)
   2907 		m_log << TestLog::Message << "glGetVertexArrayPointeri_vEXT(" << vaobj << ", " << index << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(param))) << ");" << TestLog::EndMessage;
   2908 	m_gl.getVertexArrayPointeri_vEXT(vaobj, index, pname, param);
   2909 }
   2910 
   2911 void CallLogWrapper::glGetVertexArrayPointervEXT (glw::GLuint vaobj, glw::GLenum pname, void **param)
   2912 {
   2913 	if (m_enableLog)
   2914 		m_log << TestLog::Message << "glGetVertexArrayPointervEXT(" << vaobj << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(param))) << ");" << TestLog::EndMessage;
   2915 	m_gl.getVertexArrayPointervEXT(vaobj, pname, param);
   2916 }
   2917 
   2918 void CallLogWrapper::glGetVertexArrayiv (glw::GLuint vaobj, glw::GLenum pname, glw::GLint *param)
   2919 {
   2920 	if (m_enableLog)
   2921 		m_log << TestLog::Message << "glGetVertexArrayiv(" << vaobj << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(param))) << ");" << TestLog::EndMessage;
   2922 	m_gl.getVertexArrayiv(vaobj, pname, param);
   2923 }
   2924 
   2925 void CallLogWrapper::glGetVertexAttribIiv (glw::GLuint index, glw::GLenum pname, glw::GLint *params)
   2926 {
   2927 	if (m_enableLog)
   2928 		m_log << TestLog::Message << "glGetVertexAttribIiv(" << index << ", " << getVertexAttribParameterNameStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2929 	m_gl.getVertexAttribIiv(index, pname, params);
   2930 	if (m_enableLog)
   2931 		m_log << TestLog::Message << "// params = " << getPointerStr(params, getAttributeQueryNumArgsOut(pname)) << TestLog::EndMessage;
   2932 }
   2933 
   2934 void CallLogWrapper::glGetVertexAttribIuiv (glw::GLuint index, glw::GLenum pname, glw::GLuint *params)
   2935 {
   2936 	if (m_enableLog)
   2937 		m_log << TestLog::Message << "glGetVertexAttribIuiv(" << index << ", " << getVertexAttribParameterNameStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2938 	m_gl.getVertexAttribIuiv(index, pname, params);
   2939 	if (m_enableLog)
   2940 		m_log << TestLog::Message << "// params = " << getPointerStr(params, getAttributeQueryNumArgsOut(pname)) << TestLog::EndMessage;
   2941 }
   2942 
   2943 void CallLogWrapper::glGetVertexAttribLdv (glw::GLuint index, glw::GLenum pname, glw::GLdouble *params)
   2944 {
   2945 	if (m_enableLog)
   2946 		m_log << TestLog::Message << "glGetVertexAttribLdv(" << index << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2947 	m_gl.getVertexAttribLdv(index, pname, params);
   2948 }
   2949 
   2950 void CallLogWrapper::glGetVertexAttribPointerv (glw::GLuint index, glw::GLenum pname, void **pointer)
   2951 {
   2952 	if (m_enableLog)
   2953 		m_log << TestLog::Message << "glGetVertexAttribPointerv(" << index << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(pointer))) << ");" << TestLog::EndMessage;
   2954 	m_gl.getVertexAttribPointerv(index, pname, pointer);
   2955 }
   2956 
   2957 void CallLogWrapper::glGetVertexAttribdv (glw::GLuint index, glw::GLenum pname, glw::GLdouble *params)
   2958 {
   2959 	if (m_enableLog)
   2960 		m_log << TestLog::Message << "glGetVertexAttribdv(" << index << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2961 	m_gl.getVertexAttribdv(index, pname, params);
   2962 }
   2963 
   2964 void CallLogWrapper::glGetVertexAttribfv (glw::GLuint index, glw::GLenum pname, glw::GLfloat *params)
   2965 {
   2966 	if (m_enableLog)
   2967 		m_log << TestLog::Message << "glGetVertexAttribfv(" << index << ", " << getVertexAttribParameterNameStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2968 	m_gl.getVertexAttribfv(index, pname, params);
   2969 	if (m_enableLog)
   2970 		m_log << TestLog::Message << "// params = " << getPointerStr(params, getAttributeQueryNumArgsOut(pname)) << TestLog::EndMessage;
   2971 }
   2972 
   2973 void CallLogWrapper::glGetVertexAttribiv (glw::GLuint index, glw::GLenum pname, glw::GLint *params)
   2974 {
   2975 	if (m_enableLog)
   2976 		m_log << TestLog::Message << "glGetVertexAttribiv(" << index << ", " << getVertexAttribParameterNameStr(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   2977 	m_gl.getVertexAttribiv(index, pname, params);
   2978 	if (m_enableLog)
   2979 		m_log << TestLog::Message << "// params = " << getPointerStr(params, getAttributeQueryNumArgsOut(pname)) << TestLog::EndMessage;
   2980 }
   2981 
   2982 void CallLogWrapper::glGetnCompressedTexImage (glw::GLenum target, glw::GLint lod, glw::GLsizei bufSize, void *pixels)
   2983 {
   2984 	if (m_enableLog)
   2985 		m_log << TestLog::Message << "glGetnCompressedTexImage(" << toHex(target) << ", " << lod << ", " << bufSize << ", " << pixels << ");" << TestLog::EndMessage;
   2986 	m_gl.getnCompressedTexImage(target, lod, bufSize, pixels);
   2987 }
   2988 
   2989 void CallLogWrapper::glGetnTexImage (glw::GLenum target, glw::GLint level, glw::GLenum format, glw::GLenum type, glw::GLsizei bufSize, void *pixels)
   2990 {
   2991 	if (m_enableLog)
   2992 		m_log << TestLog::Message << "glGetnTexImage(" << toHex(target) << ", " << level << ", " << toHex(format) << ", " << toHex(type) << ", " << bufSize << ", " << pixels << ");" << TestLog::EndMessage;
   2993 	m_gl.getnTexImage(target, level, format, type, bufSize, pixels);
   2994 }
   2995 
   2996 void CallLogWrapper::glGetnUniformdv (glw::GLuint program, glw::GLint location, glw::GLsizei bufSize, glw::GLdouble *params)
   2997 {
   2998 	if (m_enableLog)
   2999 		m_log << TestLog::Message << "glGetnUniformdv(" << program << ", " << location << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   3000 	m_gl.getnUniformdv(program, location, bufSize, params);
   3001 }
   3002 
   3003 void CallLogWrapper::glGetnUniformfv (glw::GLuint program, glw::GLint location, glw::GLsizei bufSize, glw::GLfloat *params)
   3004 {
   3005 	if (m_enableLog)
   3006 		m_log << TestLog::Message << "glGetnUniformfv(" << program << ", " << location << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   3007 	m_gl.getnUniformfv(program, location, bufSize, params);
   3008 }
   3009 
   3010 void CallLogWrapper::glGetnUniformiv (glw::GLuint program, glw::GLint location, glw::GLsizei bufSize, glw::GLint *params)
   3011 {
   3012 	if (m_enableLog)
   3013 		m_log << TestLog::Message << "glGetnUniformiv(" << program << ", " << location << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   3014 	m_gl.getnUniformiv(program, location, bufSize, params);
   3015 }
   3016 
   3017 void CallLogWrapper::glGetnUniformuiv (glw::GLuint program, glw::GLint location, glw::GLsizei bufSize, glw::GLuint *params)
   3018 {
   3019 	if (m_enableLog)
   3020 		m_log << TestLog::Message << "glGetnUniformuiv(" << program << ", " << location << ", " << bufSize << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   3021 	m_gl.getnUniformuiv(program, location, bufSize, params);
   3022 }
   3023 
   3024 void CallLogWrapper::glHint (glw::GLenum target, glw::GLenum mode)
   3025 {
   3026 	if (m_enableLog)
   3027 		m_log << TestLog::Message << "glHint(" << getHintStr(target) << ", " << getHintModeStr(mode) << ");" << TestLog::EndMessage;
   3028 	m_gl.hint(target, mode);
   3029 }
   3030 
   3031 void CallLogWrapper::glInsertEventMarkerEXT (glw::GLsizei length, const glw::GLchar *marker)
   3032 {
   3033 	if (m_enableLog)
   3034 		m_log << TestLog::Message << "glInsertEventMarkerEXT(" << length << ", " << getStringStr(marker) << ");" << TestLog::EndMessage;
   3035 	m_gl.insertEventMarkerEXT(length, marker);
   3036 }
   3037 
   3038 void CallLogWrapper::glInvalidateBufferData (glw::GLuint buffer)
   3039 {
   3040 	if (m_enableLog)
   3041 		m_log << TestLog::Message << "glInvalidateBufferData(" << buffer << ");" << TestLog::EndMessage;
   3042 	m_gl.invalidateBufferData(buffer);
   3043 }
   3044 
   3045 void CallLogWrapper::glInvalidateBufferSubData (glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr length)
   3046 {
   3047 	if (m_enableLog)
   3048 		m_log << TestLog::Message << "glInvalidateBufferSubData(" << buffer << ", " << offset << ", " << length << ");" << TestLog::EndMessage;
   3049 	m_gl.invalidateBufferSubData(buffer, offset, length);
   3050 }
   3051 
   3052 void CallLogWrapper::glInvalidateFramebuffer (glw::GLenum target, glw::GLsizei numAttachments, const glw::GLenum *attachments)
   3053 {
   3054 	if (m_enableLog)
   3055 		m_log << TestLog::Message << "glInvalidateFramebuffer(" << getFramebufferTargetStr(target) << ", " << numAttachments << ", " << getEnumPointerStr(attachments, numAttachments, getInvalidateAttachmentName) << ");" << TestLog::EndMessage;
   3056 	m_gl.invalidateFramebuffer(target, numAttachments, attachments);
   3057 }
   3058 
   3059 void CallLogWrapper::glInvalidateNamedFramebufferData (glw::GLuint framebuffer, glw::GLsizei numAttachments, const glw::GLenum *attachments)
   3060 {
   3061 	if (m_enableLog)
   3062 		m_log << TestLog::Message << "glInvalidateNamedFramebufferData(" << framebuffer << ", " << numAttachments << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(attachments))) << ");" << TestLog::EndMessage;
   3063 	m_gl.invalidateNamedFramebufferData(framebuffer, numAttachments, attachments);
   3064 }
   3065 
   3066 void CallLogWrapper::glInvalidateNamedFramebufferSubData (glw::GLuint framebuffer, glw::GLsizei numAttachments, const glw::GLenum *attachments, glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height)
   3067 {
   3068 	if (m_enableLog)
   3069 		m_log << TestLog::Message << "glInvalidateNamedFramebufferSubData(" << framebuffer << ", " << numAttachments << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(attachments))) << ", " << x << ", " << y << ", " << width << ", " << height << ");" << TestLog::EndMessage;
   3070 	m_gl.invalidateNamedFramebufferSubData(framebuffer, numAttachments, attachments, x, y, width, height);
   3071 }
   3072 
   3073 void CallLogWrapper::glInvalidateSubFramebuffer (glw::GLenum target, glw::GLsizei numAttachments, const glw::GLenum *attachments, glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height)
   3074 {
   3075 	if (m_enableLog)
   3076 		m_log << TestLog::Message << "glInvalidateSubFramebuffer(" << getFramebufferTargetStr(target) << ", " << numAttachments << ", " << getEnumPointerStr(attachments, numAttachments, getInvalidateAttachmentName) << ", " << x << ", " << y << ", " << width << ", " << height << ");" << TestLog::EndMessage;
   3077 	m_gl.invalidateSubFramebuffer(target, numAttachments, attachments, x, y, width, height);
   3078 }
   3079 
   3080 void CallLogWrapper::glInvalidateTexImage (glw::GLuint texture, glw::GLint level)
   3081 {
   3082 	if (m_enableLog)
   3083 		m_log << TestLog::Message << "glInvalidateTexImage(" << texture << ", " << level << ");" << TestLog::EndMessage;
   3084 	m_gl.invalidateTexImage(texture, level);
   3085 }
   3086 
   3087 void 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)
   3088 {
   3089 	if (m_enableLog)
   3090 		m_log << TestLog::Message << "glInvalidateTexSubImage(" << texture << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ");" << TestLog::EndMessage;
   3091 	m_gl.invalidateTexSubImage(texture, level, xoffset, yoffset, zoffset, width, height, depth);
   3092 }
   3093 
   3094 glw::GLboolean CallLogWrapper::glIsBuffer (glw::GLuint buffer)
   3095 {
   3096 	if (m_enableLog)
   3097 		m_log << TestLog::Message << "glIsBuffer(" << buffer << ");" << TestLog::EndMessage;
   3098 	glw::GLboolean returnValue = m_gl.isBuffer(buffer);
   3099 	if (m_enableLog)
   3100 		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
   3101 	return returnValue;
   3102 }
   3103 
   3104 glw::GLboolean CallLogWrapper::glIsEnabled (glw::GLenum cap)
   3105 {
   3106 	if (m_enableLog)
   3107 		m_log << TestLog::Message << "glIsEnabled(" << getEnableCapStr(cap) << ");" << TestLog::EndMessage;
   3108 	glw::GLboolean returnValue = m_gl.isEnabled(cap);
   3109 	if (m_enableLog)
   3110 		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
   3111 	return returnValue;
   3112 }
   3113 
   3114 glw::GLboolean CallLogWrapper::glIsEnabledi (glw::GLenum target, glw::GLuint index)
   3115 {
   3116 	if (m_enableLog)
   3117 		m_log << TestLog::Message << "glIsEnabledi(" << getIndexedEnableCapStr(target) << ", " << index << ");" << TestLog::EndMessage;
   3118 	glw::GLboolean returnValue = m_gl.isEnabledi(target, index);
   3119 	if (m_enableLog)
   3120 		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
   3121 	return returnValue;
   3122 }
   3123 
   3124 glw::GLboolean CallLogWrapper::glIsFramebuffer (glw::GLuint framebuffer)
   3125 {
   3126 	if (m_enableLog)
   3127 		m_log << TestLog::Message << "glIsFramebuffer(" << framebuffer << ");" << TestLog::EndMessage;
   3128 	glw::GLboolean returnValue = m_gl.isFramebuffer(framebuffer);
   3129 	if (m_enableLog)
   3130 		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
   3131 	return returnValue;
   3132 }
   3133 
   3134 glw::GLboolean CallLogWrapper::glIsProgram (glw::GLuint program)
   3135 {
   3136 	if (m_enableLog)
   3137 		m_log << TestLog::Message << "glIsProgram(" << program << ");" << TestLog::EndMessage;
   3138 	glw::GLboolean returnValue = m_gl.isProgram(program);
   3139 	if (m_enableLog)
   3140 		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
   3141 	return returnValue;
   3142 }
   3143 
   3144 glw::GLboolean CallLogWrapper::glIsProgramPipeline (glw::GLuint pipeline)
   3145 {
   3146 	if (m_enableLog)
   3147 		m_log << TestLog::Message << "glIsProgramPipeline(" << pipeline << ");" << TestLog::EndMessage;
   3148 	glw::GLboolean returnValue = m_gl.isProgramPipeline(pipeline);
   3149 	if (m_enableLog)
   3150 		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
   3151 	return returnValue;
   3152 }
   3153 
   3154 glw::GLboolean CallLogWrapper::glIsQuery (glw::GLuint id)
   3155 {
   3156 	if (m_enableLog)
   3157 		m_log << TestLog::Message << "glIsQuery(" << id << ");" << TestLog::EndMessage;
   3158 	glw::GLboolean returnValue = m_gl.isQuery(id);
   3159 	if (m_enableLog)
   3160 		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
   3161 	return returnValue;
   3162 }
   3163 
   3164 glw::GLboolean CallLogWrapper::glIsRenderbuffer (glw::GLuint renderbuffer)
   3165 {
   3166 	if (m_enableLog)
   3167 		m_log << TestLog::Message << "glIsRenderbuffer(" << renderbuffer << ");" << TestLog::EndMessage;
   3168 	glw::GLboolean returnValue = m_gl.isRenderbuffer(renderbuffer);
   3169 	if (m_enableLog)
   3170 		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
   3171 	return returnValue;
   3172 }
   3173 
   3174 glw::GLboolean CallLogWrapper::glIsSampler (glw::GLuint sampler)
   3175 {
   3176 	if (m_enableLog)
   3177 		m_log << TestLog::Message << "glIsSampler(" << sampler << ");" << TestLog::EndMessage;
   3178 	glw::GLboolean returnValue = m_gl.isSampler(sampler);
   3179 	if (m_enableLog)
   3180 		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
   3181 	return returnValue;
   3182 }
   3183 
   3184 glw::GLboolean CallLogWrapper::glIsShader (glw::GLuint shader)
   3185 {
   3186 	if (m_enableLog)
   3187 		m_log << TestLog::Message << "glIsShader(" << shader << ");" << TestLog::EndMessage;
   3188 	glw::GLboolean returnValue = m_gl.isShader(shader);
   3189 	if (m_enableLog)
   3190 		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
   3191 	return returnValue;
   3192 }
   3193 
   3194 glw::GLboolean CallLogWrapper::glIsSync (glw::GLsync sync)
   3195 {
   3196 	if (m_enableLog)
   3197 		m_log << TestLog::Message << "glIsSync(" << sync << ");" << TestLog::EndMessage;
   3198 	glw::GLboolean returnValue = m_gl.isSync(sync);
   3199 	if (m_enableLog)
   3200 		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
   3201 	return returnValue;
   3202 }
   3203 
   3204 glw::GLboolean CallLogWrapper::glIsTexture (glw::GLuint texture)
   3205 {
   3206 	if (m_enableLog)
   3207 		m_log << TestLog::Message << "glIsTexture(" << texture << ");" << TestLog::EndMessage;
   3208 	glw::GLboolean returnValue = m_gl.isTexture(texture);
   3209 	if (m_enableLog)
   3210 		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
   3211 	return returnValue;
   3212 }
   3213 
   3214 glw::GLboolean CallLogWrapper::glIsTransformFeedback (glw::GLuint id)
   3215 {
   3216 	if (m_enableLog)
   3217 		m_log << TestLog::Message << "glIsTransformFeedback(" << id << ");" << TestLog::EndMessage;
   3218 	glw::GLboolean returnValue = m_gl.isTransformFeedback(id);
   3219 	if (m_enableLog)
   3220 		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
   3221 	return returnValue;
   3222 }
   3223 
   3224 glw::GLboolean CallLogWrapper::glIsVertexArray (glw::GLuint array)
   3225 {
   3226 	if (m_enableLog)
   3227 		m_log << TestLog::Message << "glIsVertexArray(" << array << ");" << TestLog::EndMessage;
   3228 	glw::GLboolean returnValue = m_gl.isVertexArray(array);
   3229 	if (m_enableLog)
   3230 		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
   3231 	return returnValue;
   3232 }
   3233 
   3234 void CallLogWrapper::glLineWidth (glw::GLfloat width)
   3235 {
   3236 	if (m_enableLog)
   3237 		m_log << TestLog::Message << "glLineWidth(" << width << ");" << TestLog::EndMessage;
   3238 	m_gl.lineWidth(width);
   3239 }
   3240 
   3241 void CallLogWrapper::glLinkProgram (glw::GLuint program)
   3242 {
   3243 	if (m_enableLog)
   3244 		m_log << TestLog::Message << "glLinkProgram(" << program << ");" << TestLog::EndMessage;
   3245 	m_gl.linkProgram(program);
   3246 }
   3247 
   3248 void CallLogWrapper::glLogicOp (glw::GLenum opcode)
   3249 {
   3250 	if (m_enableLog)
   3251 		m_log << TestLog::Message << "glLogicOp(" << toHex(opcode) << ");" << TestLog::EndMessage;
   3252 	m_gl.logicOp(opcode);
   3253 }
   3254 
   3255 void * CallLogWrapper::glMapBuffer (glw::GLenum target, glw::GLenum access)
   3256 {
   3257 	if (m_enableLog)
   3258 		m_log << TestLog::Message << "glMapBuffer(" << toHex(target) << ", " << toHex(access) << ");" << TestLog::EndMessage;
   3259 	void * returnValue = m_gl.mapBuffer(target, access);
   3260 	if (m_enableLog)
   3261 		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
   3262 	return returnValue;
   3263 }
   3264 
   3265 void * CallLogWrapper::glMapBufferRange (glw::GLenum target, glw::GLintptr offset, glw::GLsizeiptr length, glw::GLbitfield access)
   3266 {
   3267 	if (m_enableLog)
   3268 		m_log << TestLog::Message << "glMapBufferRange(" << getBufferTargetStr(target) << ", " << offset << ", " << length << ", " << getBufferMapFlagsStr(access) << ");" << TestLog::EndMessage;
   3269 	void * returnValue = m_gl.mapBufferRange(target, offset, length, access);
   3270 	if (m_enableLog)
   3271 		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
   3272 	return returnValue;
   3273 }
   3274 
   3275 void * CallLogWrapper::glMapNamedBuffer (glw::GLuint buffer, glw::GLenum access)
   3276 {
   3277 	if (m_enableLog)
   3278 		m_log << TestLog::Message << "glMapNamedBuffer(" << buffer << ", " << toHex(access) << ");" << TestLog::EndMessage;
   3279 	void * returnValue = m_gl.mapNamedBuffer(buffer, access);
   3280 	if (m_enableLog)
   3281 		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
   3282 	return returnValue;
   3283 }
   3284 
   3285 void * CallLogWrapper::glMapNamedBufferEXT (glw::GLuint buffer, glw::GLenum access)
   3286 {
   3287 	if (m_enableLog)
   3288 		m_log << TestLog::Message << "glMapNamedBufferEXT(" << buffer << ", " << toHex(access) << ");" << TestLog::EndMessage;
   3289 	void * returnValue = m_gl.mapNamedBufferEXT(buffer, access);
   3290 	if (m_enableLog)
   3291 		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
   3292 	return returnValue;
   3293 }
   3294 
   3295 void * CallLogWrapper::glMapNamedBufferRange (glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr length, glw::GLbitfield access)
   3296 {
   3297 	if (m_enableLog)
   3298 		m_log << TestLog::Message << "glMapNamedBufferRange(" << buffer << ", " << offset << ", " << length << ", " << toHex(access) << ");" << TestLog::EndMessage;
   3299 	void * returnValue = m_gl.mapNamedBufferRange(buffer, offset, length, access);
   3300 	if (m_enableLog)
   3301 		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
   3302 	return returnValue;
   3303 }
   3304 
   3305 void * CallLogWrapper::glMapNamedBufferRangeEXT (glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr length, glw::GLbitfield access)
   3306 {
   3307 	if (m_enableLog)
   3308 		m_log << TestLog::Message << "glMapNamedBufferRangeEXT(" << buffer << ", " << offset << ", " << length << ", " << toHex(access) << ");" << TestLog::EndMessage;
   3309 	void * returnValue = m_gl.mapNamedBufferRangeEXT(buffer, offset, length, access);
   3310 	if (m_enableLog)
   3311 		m_log << TestLog::Message << "// " << returnValue << " returned" << TestLog::EndMessage;
   3312 	return returnValue;
   3313 }
   3314 
   3315 void CallLogWrapper::glMatrixFrustumEXT (glw::GLenum mode, glw::GLdouble left, glw::GLdouble right, glw::GLdouble bottom, glw::GLdouble top, glw::GLdouble zNear, glw::GLdouble zFar)
   3316 {
   3317 	if (m_enableLog)
   3318 		m_log << TestLog::Message << "glMatrixFrustumEXT(" << toHex(mode) << ", " << left << ", " << right << ", " << bottom << ", " << top << ", " << zNear << ", " << zFar << ");" << TestLog::EndMessage;
   3319 	m_gl.matrixFrustumEXT(mode, left, right, bottom, top, zNear, zFar);
   3320 }
   3321 
   3322 void CallLogWrapper::glMatrixLoadIdentityEXT (glw::GLenum mode)
   3323 {
   3324 	if (m_enableLog)
   3325 		m_log << TestLog::Message << "glMatrixLoadIdentityEXT(" << toHex(mode) << ");" << TestLog::EndMessage;
   3326 	m_gl.matrixLoadIdentityEXT(mode);
   3327 }
   3328 
   3329 void CallLogWrapper::glMatrixLoadTransposedEXT (glw::GLenum mode, const glw::GLdouble *m)
   3330 {
   3331 	if (m_enableLog)
   3332 		m_log << TestLog::Message << "glMatrixLoadTransposedEXT(" << toHex(mode) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(m))) << ");" << TestLog::EndMessage;
   3333 	m_gl.matrixLoadTransposedEXT(mode, m);
   3334 }
   3335 
   3336 void CallLogWrapper::glMatrixLoadTransposefEXT (glw::GLenum mode, const glw::GLfloat *m)
   3337 {
   3338 	if (m_enableLog)
   3339 		m_log << TestLog::Message << "glMatrixLoadTransposefEXT(" << toHex(mode) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(m))) << ");" << TestLog::EndMessage;
   3340 	m_gl.matrixLoadTransposefEXT(mode, m);
   3341 }
   3342 
   3343 void CallLogWrapper::glMatrixLoaddEXT (glw::GLenum mode, const glw::GLdouble *m)
   3344 {
   3345 	if (m_enableLog)
   3346 		m_log << TestLog::Message << "glMatrixLoaddEXT(" << toHex(mode) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(m))) << ");" << TestLog::EndMessage;
   3347 	m_gl.matrixLoaddEXT(mode, m);
   3348 }
   3349 
   3350 void CallLogWrapper::glMatrixLoadfEXT (glw::GLenum mode, const glw::GLfloat *m)
   3351 {
   3352 	if (m_enableLog)
   3353 		m_log << TestLog::Message << "glMatrixLoadfEXT(" << toHex(mode) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(m))) << ");" << TestLog::EndMessage;
   3354 	m_gl.matrixLoadfEXT(mode, m);
   3355 }
   3356 
   3357 void CallLogWrapper::glMatrixMultTransposedEXT (glw::GLenum mode, const glw::GLdouble *m)
   3358 {
   3359 	if (m_enableLog)
   3360 		m_log << TestLog::Message << "glMatrixMultTransposedEXT(" << toHex(mode) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(m))) << ");" << TestLog::EndMessage;
   3361 	m_gl.matrixMultTransposedEXT(mode, m);
   3362 }
   3363 
   3364 void CallLogWrapper::glMatrixMultTransposefEXT (glw::GLenum mode, const glw::GLfloat *m)
   3365 {
   3366 	if (m_enableLog)
   3367 		m_log << TestLog::Message << "glMatrixMultTransposefEXT(" << toHex(mode) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(m))) << ");" << TestLog::EndMessage;
   3368 	m_gl.matrixMultTransposefEXT(mode, m);
   3369 }
   3370 
   3371 void CallLogWrapper::glMatrixMultdEXT (glw::GLenum mode, const glw::GLdouble *m)
   3372 {
   3373 	if (m_enableLog)
   3374 		m_log << TestLog::Message << "glMatrixMultdEXT(" << toHex(mode) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(m))) << ");" << TestLog::EndMessage;
   3375 	m_gl.matrixMultdEXT(mode, m);
   3376 }
   3377 
   3378 void CallLogWrapper::glMatrixMultfEXT (glw::GLenum mode, const glw::GLfloat *m)
   3379 {
   3380 	if (m_enableLog)
   3381 		m_log << TestLog::Message << "glMatrixMultfEXT(" << toHex(mode) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(m))) << ");" << TestLog::EndMessage;
   3382 	m_gl.matrixMultfEXT(mode, m);
   3383 }
   3384 
   3385 void CallLogWrapper::glMatrixOrthoEXT (glw::GLenum mode, glw::GLdouble left, glw::GLdouble right, glw::GLdouble bottom, glw::GLdouble top, glw::GLdouble zNear, glw::GLdouble zFar)
   3386 {
   3387 	if (m_enableLog)
   3388 		m_log << TestLog::Message << "glMatrixOrthoEXT(" << toHex(mode) << ", " << left << ", " << right << ", " << bottom << ", " << top << ", " << zNear << ", " << zFar << ");" << TestLog::EndMessage;
   3389 	m_gl.matrixOrthoEXT(mode, left, right, bottom, top, zNear, zFar);
   3390 }
   3391 
   3392 void CallLogWrapper::glMatrixPopEXT (glw::GLenum mode)
   3393 {
   3394 	if (m_enableLog)
   3395 		m_log << TestLog::Message << "glMatrixPopEXT(" << toHex(mode) << ");" << TestLog::EndMessage;
   3396 	m_gl.matrixPopEXT(mode);
   3397 }
   3398 
   3399 void CallLogWrapper::glMatrixPushEXT (glw::GLenum mode)
   3400 {
   3401 	if (m_enableLog)
   3402 		m_log << TestLog::Message << "glMatrixPushEXT(" << toHex(mode) << ");" << TestLog::EndMessage;
   3403 	m_gl.matrixPushEXT(mode);
   3404 }
   3405 
   3406 void CallLogWrapper::glMatrixRotatedEXT (glw::GLenum mode, glw::GLdouble angle, glw::GLdouble x, glw::GLdouble y, glw::GLdouble z)
   3407 {
   3408 	if (m_enableLog)
   3409 		m_log << TestLog::Message << "glMatrixRotatedEXT(" << toHex(mode) << ", " << angle << ", " << x << ", " << y << ", " << z << ");" << TestLog::EndMessage;
   3410 	m_gl.matrixRotatedEXT(mode, angle, x, y, z);
   3411 }
   3412 
   3413 void CallLogWrapper::glMatrixRotatefEXT (glw::GLenum mode, glw::GLfloat angle, glw::GLfloat x, glw::GLfloat y, glw::GLfloat z)
   3414 {
   3415 	if (m_enableLog)
   3416 		m_log << TestLog::Message << "glMatrixRotatefEXT(" << toHex(mode) << ", " << angle << ", " << x << ", " << y << ", " << z << ");" << TestLog::EndMessage;
   3417 	m_gl.matrixRotatefEXT(mode, angle, x, y, z);
   3418 }
   3419 
   3420 void CallLogWrapper::glMatrixScaledEXT (glw::GLenum mode, glw::GLdouble x, glw::GLdouble y, glw::GLdouble z)
   3421 {
   3422 	if (m_enableLog)
   3423 		m_log << TestLog::Message << "glMatrixScaledEXT(" << toHex(mode) << ", " << x << ", " << y << ", " << z << ");" << TestLog::EndMessage;
   3424 	m_gl.matrixScaledEXT(mode, x, y, z);
   3425 }
   3426 
   3427 void CallLogWrapper::glMatrixScalefEXT (glw::GLenum mode, glw::GLfloat x, glw::GLfloat y, glw::GLfloat z)
   3428 {
   3429 	if (m_enableLog)
   3430 		m_log << TestLog::Message << "glMatrixScalefEXT(" << toHex(mode) << ", " << x << ", " << y << ", " << z << ");" << TestLog::EndMessage;
   3431 	m_gl.matrixScalefEXT(mode, x, y, z);
   3432 }
   3433 
   3434 void CallLogWrapper::glMatrixTranslatedEXT (glw::GLenum mode, glw::GLdouble x, glw::GLdouble y, glw::GLdouble z)
   3435 {
   3436 	if (m_enableLog)
   3437 		m_log << TestLog::Message << "glMatrixTranslatedEXT(" << toHex(mode) << ", " << x << ", " << y << ", " << z << ");" << TestLog::EndMessage;
   3438 	m_gl.matrixTranslatedEXT(mode, x, y, z);
   3439 }
   3440 
   3441 void CallLogWrapper::glMatrixTranslatefEXT (glw::GLenum mode, glw::GLfloat x, glw::GLfloat y, glw::GLfloat z)
   3442 {
   3443 	if (m_enableLog)
   3444 		m_log << TestLog::Message << "glMatrixTranslatefEXT(" << toHex(mode) << ", " << x << ", " << y << ", " << z << ");" << TestLog::EndMessage;
   3445 	m_gl.matrixTranslatefEXT(mode, x, y, z);
   3446 }
   3447 
   3448 void CallLogWrapper::glMaxShaderCompilerThreadsKHR (glw::GLuint count)
   3449 {
   3450 	if (m_enableLog)
   3451 		m_log << TestLog::Message << "glMaxShaderCompilerThreadsKHR(" << count << ");" << TestLog::EndMessage;
   3452 	m_gl.maxShaderCompilerThreadsKHR(count);
   3453 }
   3454 
   3455 void CallLogWrapper::glMemoryBarrier (glw::GLbitfield barriers)
   3456 {
   3457 	if (m_enableLog)
   3458 		m_log << TestLog::Message << "glMemoryBarrier(" << getMemoryBarrierFlagsStr(barriers) << ");" << TestLog::EndMessage;
   3459 	m_gl.memoryBarrier(barriers);
   3460 }
   3461 
   3462 void CallLogWrapper::glMemoryBarrierByRegion (glw::GLbitfield barriers)
   3463 {
   3464 	if (m_enableLog)
   3465 		m_log << TestLog::Message << "glMemoryBarrierByRegion(" << toHex(barriers) << ");" << TestLog::EndMessage;
   3466 	m_gl.memoryBarrierByRegion(barriers);
   3467 }
   3468 
   3469 void CallLogWrapper::glMinSampleShading (glw::GLfloat value)
   3470 {
   3471 	if (m_enableLog)
   3472 		m_log << TestLog::Message << "glMinSampleShading(" << value << ");" << TestLog::EndMessage;
   3473 	m_gl.minSampleShading(value);
   3474 }
   3475 
   3476 void CallLogWrapper::glMultiDrawArrays (glw::GLenum mode, const glw::GLint *first, const glw::GLsizei *count, glw::GLsizei drawcount)
   3477 {
   3478 	if (m_enableLog)
   3479 		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;
   3480 	m_gl.multiDrawArrays(mode, first, count, drawcount);
   3481 }
   3482 
   3483 void CallLogWrapper::glMultiDrawArraysIndirect (glw::GLenum mode, const void *indirect, glw::GLsizei drawcount, glw::GLsizei stride)
   3484 {
   3485 	if (m_enableLog)
   3486 		m_log << TestLog::Message << "glMultiDrawArraysIndirect(" << toHex(mode) << ", " << indirect << ", " << drawcount << ", " << stride << ");" << TestLog::EndMessage;
   3487 	m_gl.multiDrawArraysIndirect(mode, indirect, drawcount, stride);
   3488 }
   3489 
   3490 void CallLogWrapper::glMultiDrawArraysIndirectCount (glw::GLenum mode, const void *indirect, glw::GLintptr drawcount, glw::GLsizei maxdrawcount, glw::GLsizei stride)
   3491 {
   3492 	if (m_enableLog)
   3493 		m_log << TestLog::Message << "glMultiDrawArraysIndirectCount(" << toHex(mode) << ", " << indirect << ", " << drawcount << ", " << maxdrawcount << ", " << stride << ");" << TestLog::EndMessage;
   3494 	m_gl.multiDrawArraysIndirectCount(mode, indirect, drawcount, maxdrawcount, stride);
   3495 }
   3496 
   3497 void CallLogWrapper::glMultiDrawElements (glw::GLenum mode, const glw::GLsizei *count, glw::GLenum type, const void *const*indices, glw::GLsizei drawcount)
   3498 {
   3499 	if (m_enableLog)
   3500 		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;
   3501 	m_gl.multiDrawElements(mode, count, type, indices, drawcount);
   3502 }
   3503 
   3504 void CallLogWrapper::glMultiDrawElementsBaseVertex (glw::GLenum mode, const glw::GLsizei *count, glw::GLenum type, const void *const*indices, glw::GLsizei drawcount, const glw::GLint *basevertex)
   3505 {
   3506 	if (m_enableLog)
   3507 		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;
   3508 	m_gl.multiDrawElementsBaseVertex(mode, count, type, indices, drawcount, basevertex);
   3509 }
   3510 
   3511 void CallLogWrapper::glMultiDrawElementsIndirect (glw::GLenum mode, glw::GLenum type, const void *indirect, glw::GLsizei drawcount, glw::GLsizei stride)
   3512 {
   3513 	if (m_enableLog)
   3514 		m_log << TestLog::Message << "glMultiDrawElementsIndirect(" << toHex(mode) << ", " << toHex(type) << ", " << indirect << ", " << drawcount << ", " << stride << ");" << TestLog::EndMessage;
   3515 	m_gl.multiDrawElementsIndirect(mode, type, indirect, drawcount, stride);
   3516 }
   3517 
   3518 void CallLogWrapper::glMultiDrawElementsIndirectCount (glw::GLenum mode, glw::GLenum type, const void *indirect, glw::GLintptr drawcount, glw::GLsizei maxdrawcount, glw::GLsizei stride)
   3519 {
   3520 	if (m_enableLog)
   3521 		m_log << TestLog::Message << "glMultiDrawElementsIndirectCount(" << toHex(mode) << ", " << toHex(type) << ", " << indirect << ", " << drawcount << ", " << maxdrawcount << ", " << stride << ");" << TestLog::EndMessage;
   3522 	m_gl.multiDrawElementsIndirectCount(mode, type, indirect, drawcount, maxdrawcount, stride);
   3523 }
   3524 
   3525 void CallLogWrapper::glMultiTexBufferEXT (glw::GLenum texunit, glw::GLenum target, glw::GLenum internalformat, glw::GLuint buffer)
   3526 {
   3527 	if (m_enableLog)
   3528 		m_log << TestLog::Message << "glMultiTexBufferEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << toHex(internalformat) << ", " << buffer << ");" << TestLog::EndMessage;
   3529 	m_gl.multiTexBufferEXT(texunit, target, internalformat, buffer);
   3530 }
   3531 
   3532 void CallLogWrapper::glMultiTexCoordPointerEXT (glw::GLenum texunit, glw::GLint size, glw::GLenum type, glw::GLsizei stride, const void *pointer)
   3533 {
   3534 	if (m_enableLog)
   3535 		m_log << TestLog::Message << "glMultiTexCoordPointerEXT(" << toHex(texunit) << ", " << size << ", " << toHex(type) << ", " << stride << ", " << pointer << ");" << TestLog::EndMessage;
   3536 	m_gl.multiTexCoordPointerEXT(texunit, size, type, stride, pointer);
   3537 }
   3538 
   3539 void CallLogWrapper::glMultiTexEnvfEXT (glw::GLenum texunit, glw::GLenum target, glw::GLenum pname, glw::GLfloat param)
   3540 {
   3541 	if (m_enableLog)
   3542 		m_log << TestLog::Message << "glMultiTexEnvfEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
   3543 	m_gl.multiTexEnvfEXT(texunit, target, pname, param);
   3544 }
   3545 
   3546 void CallLogWrapper::glMultiTexEnvfvEXT (glw::GLenum texunit, glw::GLenum target, glw::GLenum pname, const glw::GLfloat *params)
   3547 {
   3548 	if (m_enableLog)
   3549 		m_log << TestLog::Message << "glMultiTexEnvfvEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   3550 	m_gl.multiTexEnvfvEXT(texunit, target, pname, params);
   3551 }
   3552 
   3553 void CallLogWrapper::glMultiTexEnviEXT (glw::GLenum texunit, glw::GLenum target, glw::GLenum pname, glw::GLint param)
   3554 {
   3555 	if (m_enableLog)
   3556 		m_log << TestLog::Message << "glMultiTexEnviEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
   3557 	m_gl.multiTexEnviEXT(texunit, target, pname, param);
   3558 }
   3559 
   3560 void CallLogWrapper::glMultiTexEnvivEXT (glw::GLenum texunit, glw::GLenum target, glw::GLenum pname, const glw::GLint *params)
   3561 {
   3562 	if (m_enableLog)
   3563 		m_log << TestLog::Message << "glMultiTexEnvivEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   3564 	m_gl.multiTexEnvivEXT(texunit, target, pname, params);
   3565 }
   3566 
   3567 void CallLogWrapper::glMultiTexGendEXT (glw::GLenum texunit, glw::GLenum coord, glw::GLenum pname, glw::GLdouble param)
   3568 {
   3569 	if (m_enableLog)
   3570 		m_log << TestLog::Message << "glMultiTexGendEXT(" << toHex(texunit) << ", " << toHex(coord) << ", " << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
   3571 	m_gl.multiTexGendEXT(texunit, coord, pname, param);
   3572 }
   3573 
   3574 void CallLogWrapper::glMultiTexGendvEXT (glw::GLenum texunit, glw::GLenum coord, glw::GLenum pname, const glw::GLdouble *params)
   3575 {
   3576 	if (m_enableLog)
   3577 		m_log << TestLog::Message << "glMultiTexGendvEXT(" << toHex(texunit) << ", " << toHex(coord) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   3578 	m_gl.multiTexGendvEXT(texunit, coord, pname, params);
   3579 }
   3580 
   3581 void CallLogWrapper::glMultiTexGenfEXT (glw::GLenum texunit, glw::GLenum coord, glw::GLenum pname, glw::GLfloat param)
   3582 {
   3583 	if (m_enableLog)
   3584 		m_log << TestLog::Message << "glMultiTexGenfEXT(" << toHex(texunit) << ", " << toHex(coord) << ", " << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
   3585 	m_gl.multiTexGenfEXT(texunit, coord, pname, param);
   3586 }
   3587 
   3588 void CallLogWrapper::glMultiTexGenfvEXT (glw::GLenum texunit, glw::GLenum coord, glw::GLenum pname, const glw::GLfloat *params)
   3589 {
   3590 	if (m_enableLog)
   3591 		m_log << TestLog::Message << "glMultiTexGenfvEXT(" << toHex(texunit) << ", " << toHex(coord) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   3592 	m_gl.multiTexGenfvEXT(texunit, coord, pname, params);
   3593 }
   3594 
   3595 void CallLogWrapper::glMultiTexGeniEXT (glw::GLenum texunit, glw::GLenum coord, glw::GLenum pname, glw::GLint param)
   3596 {
   3597 	if (m_enableLog)
   3598 		m_log << TestLog::Message << "glMultiTexGeniEXT(" << toHex(texunit) << ", " << toHex(coord) << ", " << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
   3599 	m_gl.multiTexGeniEXT(texunit, coord, pname, param);
   3600 }
   3601 
   3602 void CallLogWrapper::glMultiTexGenivEXT (glw::GLenum texunit, glw::GLenum coord, glw::GLenum pname, const glw::GLint *params)
   3603 {
   3604 	if (m_enableLog)
   3605 		m_log << TestLog::Message << "glMultiTexGenivEXT(" << toHex(texunit) << ", " << toHex(coord) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   3606 	m_gl.multiTexGenivEXT(texunit, coord, pname, params);
   3607 }
   3608 
   3609 void CallLogWrapper::glMultiTexImage1DEXT (glw::GLenum texunit, glw::GLenum target, glw::GLint level, glw::GLint internalformat, glw::GLsizei width, glw::GLint border, glw::GLenum format, glw::GLenum type, const void *pixels)
   3610 {
   3611 	if (m_enableLog)
   3612 		m_log << TestLog::Message << "glMultiTexImage1DEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << level << ", " << internalformat << ", " << width << ", " << border << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
   3613 	m_gl.multiTexImage1DEXT(texunit, target, level, internalformat, width, border, format, type, pixels);
   3614 }
   3615 
   3616 void CallLogWrapper::glMultiTexImage2DEXT (glw::GLenum texunit, 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)
   3617 {
   3618 	if (m_enableLog)
   3619 		m_log << TestLog::Message << "glMultiTexImage2DEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << level << ", " << internalformat << ", " << width << ", " << height << ", " << border << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
   3620 	m_gl.multiTexImage2DEXT(texunit, target, level, internalformat, width, height, border, format, type, pixels);
   3621 }
   3622 
   3623 void CallLogWrapper::glMultiTexImage3DEXT (glw::GLenum texunit, 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)
   3624 {
   3625 	if (m_enableLog)
   3626 		m_log << TestLog::Message << "glMultiTexImage3DEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << level << ", " << internalformat << ", " << width << ", " << height << ", " << depth << ", " << border << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
   3627 	m_gl.multiTexImage3DEXT(texunit, target, level, internalformat, width, height, depth, border, format, type, pixels);
   3628 }
   3629 
   3630 void CallLogWrapper::glMultiTexParameterIivEXT (glw::GLenum texunit, glw::GLenum target, glw::GLenum pname, const glw::GLint *params)
   3631 {
   3632 	if (m_enableLog)
   3633 		m_log << TestLog::Message << "glMultiTexParameterIivEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   3634 	m_gl.multiTexParameterIivEXT(texunit, target, pname, params);
   3635 }
   3636 
   3637 void CallLogWrapper::glMultiTexParameterIuivEXT (glw::GLenum texunit, glw::GLenum target, glw::GLenum pname, const glw::GLuint *params)
   3638 {
   3639 	if (m_enableLog)
   3640 		m_log << TestLog::Message << "glMultiTexParameterIuivEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   3641 	m_gl.multiTexParameterIuivEXT(texunit, target, pname, params);
   3642 }
   3643 
   3644 void CallLogWrapper::glMultiTexParameterfEXT (glw::GLenum texunit, glw::GLenum target, glw::GLenum pname, glw::GLfloat param)
   3645 {
   3646 	if (m_enableLog)
   3647 		m_log << TestLog::Message << "glMultiTexParameterfEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
   3648 	m_gl.multiTexParameterfEXT(texunit, target, pname, param);
   3649 }
   3650 
   3651 void CallLogWrapper::glMultiTexParameterfvEXT (glw::GLenum texunit, glw::GLenum target, glw::GLenum pname, const glw::GLfloat *params)
   3652 {
   3653 	if (m_enableLog)
   3654 		m_log << TestLog::Message << "glMultiTexParameterfvEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   3655 	m_gl.multiTexParameterfvEXT(texunit, target, pname, params);
   3656 }
   3657 
   3658 void CallLogWrapper::glMultiTexParameteriEXT (glw::GLenum texunit, glw::GLenum target, glw::GLenum pname, glw::GLint param)
   3659 {
   3660 	if (m_enableLog)
   3661 		m_log << TestLog::Message << "glMultiTexParameteriEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
   3662 	m_gl.multiTexParameteriEXT(texunit, target, pname, param);
   3663 }
   3664 
   3665 void CallLogWrapper::glMultiTexParameterivEXT (glw::GLenum texunit, glw::GLenum target, glw::GLenum pname, const glw::GLint *params)
   3666 {
   3667 	if (m_enableLog)
   3668 		m_log << TestLog::Message << "glMultiTexParameterivEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   3669 	m_gl.multiTexParameterivEXT(texunit, target, pname, params);
   3670 }
   3671 
   3672 void CallLogWrapper::glMultiTexRenderbufferEXT (glw::GLenum texunit, glw::GLenum target, glw::GLuint renderbuffer)
   3673 {
   3674 	if (m_enableLog)
   3675 		m_log << TestLog::Message << "glMultiTexRenderbufferEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << renderbuffer << ");" << TestLog::EndMessage;
   3676 	m_gl.multiTexRenderbufferEXT(texunit, target, renderbuffer);
   3677 }
   3678 
   3679 void CallLogWrapper::glMultiTexSubImage1DEXT (glw::GLenum texunit, glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLsizei width, glw::GLenum format, glw::GLenum type, const void *pixels)
   3680 {
   3681 	if (m_enableLog)
   3682 		m_log << TestLog::Message << "glMultiTexSubImage1DEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << level << ", " << xoffset << ", " << width << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
   3683 	m_gl.multiTexSubImage1DEXT(texunit, target, level, xoffset, width, format, type, pixels);
   3684 }
   3685 
   3686 void CallLogWrapper::glMultiTexSubImage2DEXT (glw::GLenum texunit, 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)
   3687 {
   3688 	if (m_enableLog)
   3689 		m_log << TestLog::Message << "glMultiTexSubImage2DEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << width << ", " << height << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
   3690 	m_gl.multiTexSubImage2DEXT(texunit, target, level, xoffset, yoffset, width, height, format, type, pixels);
   3691 }
   3692 
   3693 void CallLogWrapper::glMultiTexSubImage3DEXT (glw::GLenum texunit, 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)
   3694 {
   3695 	if (m_enableLog)
   3696 		m_log << TestLog::Message << "glMultiTexSubImage3DEXT(" << toHex(texunit) << ", " << toHex(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
   3697 	m_gl.multiTexSubImage3DEXT(texunit, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
   3698 }
   3699 
   3700 void CallLogWrapper::glMulticastBarrierNV (void)
   3701 {
   3702 	if (m_enableLog)
   3703 		m_log << TestLog::Message << "glMulticastBarrierNV(" << ");" << TestLog::EndMessage;
   3704 	m_gl.multicastBarrierNV();
   3705 }
   3706 
   3707 void CallLogWrapper::glMulticastBlitFramebufferNV (glw::GLuint srcGpu, glw::GLuint dstGpu, 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)
   3708 {
   3709 	if (m_enableLog)
   3710 		m_log << TestLog::Message << "glMulticastBlitFramebufferNV(" << srcGpu << ", " << dstGpu << ", " << srcX0 << ", " << srcY0 << ", " << srcX1 << ", " << srcY1 << ", " << dstX0 << ", " << dstY0 << ", " << dstX1 << ", " << dstY1 << ", " << toHex(mask) << ", " << toHex(filter) << ");" << TestLog::EndMessage;
   3711 	m_gl.multicastBlitFramebufferNV(srcGpu, dstGpu, srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter);
   3712 }
   3713 
   3714 void CallLogWrapper::glMulticastBufferSubDataNV (glw::GLbitfield gpuMask, glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size, const void *data)
   3715 {
   3716 	if (m_enableLog)
   3717 		m_log << TestLog::Message << "glMulticastBufferSubDataNV(" << toHex(gpuMask) << ", " << buffer << ", " << offset << ", " << size << ", " << data << ");" << TestLog::EndMessage;
   3718 	m_gl.multicastBufferSubDataNV(gpuMask, buffer, offset, size, data);
   3719 }
   3720 
   3721 void CallLogWrapper::glMulticastCopyBufferSubDataNV (glw::GLuint readGpu, glw::GLbitfield writeGpuMask, glw::GLuint readBuffer, glw::GLuint writeBuffer, glw::GLintptr readOffset, glw::GLintptr writeOffset, glw::GLsizeiptr size)
   3722 {
   3723 	if (m_enableLog)
   3724 		m_log << TestLog::Message << "glMulticastCopyBufferSubDataNV(" << readGpu << ", " << toHex(writeGpuMask) << ", " << readBuffer << ", " << writeBuffer << ", " << readOffset << ", " << writeOffset << ", " << size << ");" << TestLog::EndMessage;
   3725 	m_gl.multicastCopyBufferSubDataNV(readGpu, writeGpuMask, readBuffer, writeBuffer, readOffset, writeOffset, size);
   3726 }
   3727 
   3728 void CallLogWrapper::glMulticastCopyImageSubDataNV (glw::GLuint srcGpu, glw::GLbitfield dstGpuMask, 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)
   3729 {
   3730 	if (m_enableLog)
   3731 		m_log << TestLog::Message << "glMulticastCopyImageSubDataNV(" << srcGpu << ", " << toHex(dstGpuMask) << ", " << srcName << ", " << toHex(srcTarget) << ", " << srcLevel << ", " << srcX << ", " << srcY << ", " << srcZ << ", " << dstName << ", " << toHex(dstTarget) << ", " << dstLevel << ", " << dstX << ", " << dstY << ", " << dstZ << ", " << srcWidth << ", " << srcHeight << ", " << srcDepth << ");" << TestLog::EndMessage;
   3732 	m_gl.multicastCopyImageSubDataNV(srcGpu, dstGpuMask, srcName, srcTarget, srcLevel, srcX, srcY, srcZ, dstName, dstTarget, dstLevel, dstX, dstY, dstZ, srcWidth, srcHeight, srcDepth);
   3733 }
   3734 
   3735 void CallLogWrapper::glMulticastFramebufferSampleLocationsfvNV (glw::GLuint gpu, glw::GLuint framebuffer, glw::GLuint start, glw::GLsizei count, const glw::GLfloat *v)
   3736 {
   3737 	if (m_enableLog)
   3738 		m_log << TestLog::Message << "glMulticastFramebufferSampleLocationsfvNV(" << gpu << ", " << framebuffer << ", " << start << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(v))) << ");" << TestLog::EndMessage;
   3739 	m_gl.multicastFramebufferSampleLocationsfvNV(gpu, framebuffer, start, count, v);
   3740 }
   3741 
   3742 void CallLogWrapper::glMulticastGetQueryObjecti64vNV (glw::GLuint gpu, glw::GLuint id, glw::GLenum pname, glw::GLint64 *params)
   3743 {
   3744 	if (m_enableLog)
   3745 		m_log << TestLog::Message << "glMulticastGetQueryObjecti64vNV(" << gpu << ", " << id << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   3746 	m_gl.multicastGetQueryObjecti64vNV(gpu, id, pname, params);
   3747 }
   3748 
   3749 void CallLogWrapper::glMulticastGetQueryObjectivNV (glw::GLuint gpu, glw::GLuint id, glw::GLenum pname, glw::GLint *params)
   3750 {
   3751 	if (m_enableLog)
   3752 		m_log << TestLog::Message << "glMulticastGetQueryObjectivNV(" << gpu << ", " << id << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   3753 	m_gl.multicastGetQueryObjectivNV(gpu, id, pname, params);
   3754 }
   3755 
   3756 void CallLogWrapper::glMulticastGetQueryObjectui64vNV (glw::GLuint gpu, glw::GLuint id, glw::GLenum pname, glw::GLuint64 *params)
   3757 {
   3758 	if (m_enableLog)
   3759 		m_log << TestLog::Message << "glMulticastGetQueryObjectui64vNV(" << gpu << ", " << id << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   3760 	m_gl.multicastGetQueryObjectui64vNV(gpu, id, pname, params);
   3761 }
   3762 
   3763 void CallLogWrapper::glMulticastGetQueryObjectuivNV (glw::GLuint gpu, glw::GLuint id, glw::GLenum pname, glw::GLuint *params)
   3764 {
   3765 	if (m_enableLog)
   3766 		m_log << TestLog::Message << "glMulticastGetQueryObjectuivNV(" << gpu << ", " << id << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   3767 	m_gl.multicastGetQueryObjectuivNV(gpu, id, pname, params);
   3768 }
   3769 
   3770 void CallLogWrapper::glMulticastWaitSyncNV (glw::GLuint signalGpu, glw::GLbitfield waitGpuMask)
   3771 {
   3772 	if (m_enableLog)
   3773 		m_log << TestLog::Message << "glMulticastWaitSyncNV(" << signalGpu << ", " << toHex(waitGpuMask) << ");" << TestLog::EndMessage;
   3774 	m_gl.multicastWaitSyncNV(signalGpu, waitGpuMask);
   3775 }
   3776 
   3777 void CallLogWrapper::glNamedBufferData (glw::GLuint buffer, glw::GLsizeiptr size, const void *data, glw::GLenum usage)
   3778 {
   3779 	if (m_enableLog)
   3780 		m_log << TestLog::Message << "glNamedBufferData(" << buffer << ", " << size << ", " << data << ", " << toHex(usage) << ");" << TestLog::EndMessage;
   3781 	m_gl.namedBufferData(buffer, size, data, usage);
   3782 }
   3783 
   3784 void CallLogWrapper::glNamedBufferDataEXT (glw::GLuint buffer, glw::GLsizeiptr size, const void *data, glw::GLenum usage)
   3785 {
   3786 	if (m_enableLog)
   3787 		m_log << TestLog::Message << "glNamedBufferDataEXT(" << buffer << ", " << size << ", " << data << ", " << toHex(usage) << ");" << TestLog::EndMessage;
   3788 	m_gl.namedBufferDataEXT(buffer, size, data, usage);
   3789 }
   3790 
   3791 void CallLogWrapper::glNamedBufferPageCommitmentARB (glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size, glw::GLboolean commit)
   3792 {
   3793 	if (m_enableLog)
   3794 		m_log << TestLog::Message << "glNamedBufferPageCommitmentARB(" << buffer << ", " << offset << ", " << size << ", " << getBooleanStr(commit) << ");" << TestLog::EndMessage;
   3795 	m_gl.namedBufferPageCommitmentARB(buffer, offset, size, commit);
   3796 }
   3797 
   3798 void CallLogWrapper::glNamedBufferPageCommitmentEXT (glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size, glw::GLboolean commit)
   3799 {
   3800 	if (m_enableLog)
   3801 		m_log << TestLog::Message << "glNamedBufferPageCommitmentEXT(" << buffer << ", " << offset << ", " << size << ", " << getBooleanStr(commit) << ");" << TestLog::EndMessage;
   3802 	m_gl.namedBufferPageCommitmentEXT(buffer, offset, size, commit);
   3803 }
   3804 
   3805 void CallLogWrapper::glNamedBufferStorage (glw::GLuint buffer, glw::GLsizeiptr size, const void *data, glw::GLbitfield flags)
   3806 {
   3807 	if (m_enableLog)
   3808 		m_log << TestLog::Message << "glNamedBufferStorage(" << buffer << ", " << size << ", " << data << ", " << toHex(flags) << ");" << TestLog::EndMessage;
   3809 	m_gl.namedBufferStorage(buffer, size, data, flags);
   3810 }
   3811 
   3812 void CallLogWrapper::glNamedBufferSubData (glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size, const void *data)
   3813 {
   3814 	if (m_enableLog)
   3815 		m_log << TestLog::Message << "glNamedBufferSubData(" << buffer << ", " << offset << ", " << size << ", " << data << ");" << TestLog::EndMessage;
   3816 	m_gl.namedBufferSubData(buffer, offset, size, data);
   3817 }
   3818 
   3819 void CallLogWrapper::glNamedCopyBufferSubDataEXT (glw::GLuint readBuffer, glw::GLuint writeBuffer, glw::GLintptr readOffset, glw::GLintptr writeOffset, glw::GLsizeiptr size)
   3820 {
   3821 	if (m_enableLog)
   3822 		m_log << TestLog::Message << "glNamedCopyBufferSubDataEXT(" << readBuffer << ", " << writeBuffer << ", " << readOffset << ", " << writeOffset << ", " << size << ");" << TestLog::EndMessage;
   3823 	m_gl.namedCopyBufferSubDataEXT(readBuffer, writeBuffer, readOffset, writeOffset, size);
   3824 }
   3825 
   3826 void CallLogWrapper::glNamedFramebufferDrawBuffer (glw::GLuint framebuffer, glw::GLenum buf)
   3827 {
   3828 	if (m_enableLog)
   3829 		m_log << TestLog::Message << "glNamedFramebufferDrawBuffer(" << framebuffer << ", " << toHex(buf) << ");" << TestLog::EndMessage;
   3830 	m_gl.namedFramebufferDrawBuffer(framebuffer, buf);
   3831 }
   3832 
   3833 void CallLogWrapper::glNamedFramebufferDrawBuffers (glw::GLuint framebuffer, glw::GLsizei n, const glw::GLenum *bufs)
   3834 {
   3835 	if (m_enableLog)
   3836 		m_log << TestLog::Message << "glNamedFramebufferDrawBuffers(" << framebuffer << ", " << n << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(bufs))) << ");" << TestLog::EndMessage;
   3837 	m_gl.namedFramebufferDrawBuffers(framebuffer, n, bufs);
   3838 }
   3839 
   3840 void CallLogWrapper::glNamedFramebufferParameteri (glw::GLuint framebuffer, glw::GLenum pname, glw::GLint param)
   3841 {
   3842 	if (m_enableLog)
   3843 		m_log << TestLog::Message << "glNamedFramebufferParameteri(" << framebuffer << ", " << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
   3844 	m_gl.namedFramebufferParameteri(framebuffer, pname, param);
   3845 }
   3846 
   3847 void CallLogWrapper::glNamedFramebufferParameteriEXT (glw::GLuint framebuffer, glw::GLenum pname, glw::GLint param)
   3848 {
   3849 	if (m_enableLog)
   3850 		m_log << TestLog::Message << "glNamedFramebufferParameteriEXT(" << framebuffer << ", " << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
   3851 	m_gl.namedFramebufferParameteriEXT(framebuffer, pname, param);
   3852 }
   3853 
   3854 void CallLogWrapper::glNamedFramebufferReadBuffer (glw::GLuint framebuffer, glw::GLenum src)
   3855 {
   3856 	if (m_enableLog)
   3857 		m_log << TestLog::Message << "glNamedFramebufferReadBuffer(" << framebuffer << ", " << toHex(src) << ");" << TestLog::EndMessage;
   3858 	m_gl.namedFramebufferReadBuffer(framebuffer, src);
   3859 }
   3860 
   3861 void CallLogWrapper::glNamedFramebufferRenderbuffer (glw::GLuint framebuffer, glw::GLenum attachment, glw::GLenum renderbuffertarget, glw::GLuint renderbuffer)
   3862 {
   3863 	if (m_enableLog)
   3864 		m_log << TestLog::Message << "glNamedFramebufferRenderbuffer(" << framebuffer << ", " << toHex(attachment) << ", " << toHex(renderbuffertarget) << ", " << renderbuffer << ");" << TestLog::EndMessage;
   3865 	m_gl.namedFramebufferRenderbuffer(framebuffer, attachment, renderbuffertarget, renderbuffer);
   3866 }
   3867 
   3868 void CallLogWrapper::glNamedFramebufferRenderbufferEXT (glw::GLuint framebuffer, glw::GLenum attachment, glw::GLenum renderbuffertarget, glw::GLuint renderbuffer)
   3869 {
   3870 	if (m_enableLog)
   3871 		m_log << TestLog::Message << "glNamedFramebufferRenderbufferEXT(" << framebuffer << ", " << toHex(attachment) << ", " << toHex(renderbuffertarget) << ", " << renderbuffer << ");" << TestLog::EndMessage;
   3872 	m_gl.namedFramebufferRenderbufferEXT(framebuffer, attachment, renderbuffertarget, renderbuffer);
   3873 }
   3874 
   3875 void CallLogWrapper::glNamedFramebufferTexture (glw::GLuint framebuffer, glw::GLenum attachment, glw::GLuint texture, glw::GLint level)
   3876 {
   3877 	if (m_enableLog)
   3878 		m_log << TestLog::Message << "glNamedFramebufferTexture(" << framebuffer << ", " << toHex(attachment) << ", " << texture << ", " << level << ");" << TestLog::EndMessage;
   3879 	m_gl.namedFramebufferTexture(framebuffer, attachment, texture, level);
   3880 }
   3881 
   3882 void CallLogWrapper::glNamedFramebufferTexture1DEXT (glw::GLuint framebuffer, glw::GLenum attachment, glw::GLenum textarget, glw::GLuint texture, glw::GLint level)
   3883 {
   3884 	if (m_enableLog)
   3885 		m_log << TestLog::Message << "glNamedFramebufferTexture1DEXT(" << framebuffer << ", " << toHex(attachment) << ", " << toHex(textarget) << ", " << texture << ", " << level << ");" << TestLog::EndMessage;
   3886 	m_gl.namedFramebufferTexture1DEXT(framebuffer, attachment, textarget, texture, level);
   3887 }
   3888 
   3889 void CallLogWrapper::glNamedFramebufferTexture2DEXT (glw::GLuint framebuffer, glw::GLenum attachment, glw::GLenum textarget, glw::GLuint texture, glw::GLint level)
   3890 {
   3891 	if (m_enableLog)
   3892 		m_log << TestLog::Message << "glNamedFramebufferTexture2DEXT(" << framebuffer << ", " << toHex(attachment) << ", " << toHex(textarget) << ", " << texture << ", " << level << ");" << TestLog::EndMessage;
   3893 	m_gl.namedFramebufferTexture2DEXT(framebuffer, attachment, textarget, texture, level);
   3894 }
   3895 
   3896 void CallLogWrapper::glNamedFramebufferTexture3DEXT (glw::GLuint framebuffer, glw::GLenum attachment, glw::GLenum textarget, glw::GLuint texture, glw::GLint level, glw::GLint zoffset)
   3897 {
   3898 	if (m_enableLog)
   3899 		m_log << TestLog::Message << "glNamedFramebufferTexture3DEXT(" << framebuffer << ", " << toHex(attachment) << ", " << toHex(textarget) << ", " << texture << ", " << level << ", " << zoffset << ");" << TestLog::EndMessage;
   3900 	m_gl.namedFramebufferTexture3DEXT(framebuffer, attachment, textarget, texture, level, zoffset);
   3901 }
   3902 
   3903 void CallLogWrapper::glNamedFramebufferTextureEXT (glw::GLuint framebuffer, glw::GLenum attachment, glw::GLuint texture, glw::GLint level)
   3904 {
   3905 	if (m_enableLog)
   3906 		m_log << TestLog::Message << "glNamedFramebufferTextureEXT(" << framebuffer << ", " << toHex(attachment) << ", " << texture << ", " << level << ");" << TestLog::EndMessage;
   3907 	m_gl.namedFramebufferTextureEXT(framebuffer, attachment, texture, level);
   3908 }
   3909 
   3910 void CallLogWrapper::glNamedFramebufferTextureFaceEXT (glw::GLuint framebuffer, glw::GLenum attachment, glw::GLuint texture, glw::GLint level, glw::GLenum face)
   3911 {
   3912 	if (m_enableLog)
   3913 		m_log << TestLog::Message << "glNamedFramebufferTextureFaceEXT(" << framebuffer << ", " << toHex(attachment) << ", " << texture << ", " << level << ", " << toHex(face) << ");" << TestLog::EndMessage;
   3914 	m_gl.namedFramebufferTextureFaceEXT(framebuffer, attachment, texture, level, face);
   3915 }
   3916 
   3917 void CallLogWrapper::glNamedFramebufferTextureLayer (glw::GLuint framebuffer, glw::GLenum attachment, glw::GLuint texture, glw::GLint level, glw::GLint layer)
   3918 {
   3919 	if (m_enableLog)
   3920 		m_log << TestLog::Message << "glNamedFramebufferTextureLayer(" << framebuffer << ", " << toHex(attachment) << ", " << texture << ", " << level << ", " << layer << ");" << TestLog::EndMessage;
   3921 	m_gl.namedFramebufferTextureLayer(framebuffer, attachment, texture, level, layer);
   3922 }
   3923 
   3924 void CallLogWrapper::glNamedFramebufferTextureLayerEXT (glw::GLuint framebuffer, glw::GLenum attachment, glw::GLuint texture, glw::GLint level, glw::GLint layer)
   3925 {
   3926 	if (m_enableLog)
   3927 		m_log << TestLog::Message << "glNamedFramebufferTextureLayerEXT(" << framebuffer << ", " << toHex(attachment) << ", " << texture << ", " << level << ", " << layer << ");" << TestLog::EndMessage;
   3928 	m_gl.namedFramebufferTextureLayerEXT(framebuffer, attachment, texture, level, layer);
   3929 }
   3930 
   3931 void CallLogWrapper::glNamedProgramLocalParameter4dEXT (glw::GLuint program, glw::GLenum target, glw::GLuint index, glw::GLdouble x, glw::GLdouble y, glw::GLdouble z, glw::GLdouble w)
   3932 {
   3933 	if (m_enableLog)
   3934 		m_log << TestLog::Message << "glNamedProgramLocalParameter4dEXT(" << program << ", " << toHex(target) << ", " << index << ", " << x << ", " << y << ", " << z << ", " << w << ");" << TestLog::EndMessage;
   3935 	m_gl.namedProgramLocalParameter4dEXT(program, target, index, x, y, z, w);
   3936 }
   3937 
   3938 void CallLogWrapper::glNamedProgramLocalParameter4dvEXT (glw::GLuint program, glw::GLenum target, glw::GLuint index, const glw::GLdouble *params)
   3939 {
   3940 	if (m_enableLog)
   3941 		m_log << TestLog::Message << "glNamedProgramLocalParameter4dvEXT(" << program << ", " << toHex(target) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   3942 	m_gl.namedProgramLocalParameter4dvEXT(program, target, index, params);
   3943 }
   3944 
   3945 void CallLogWrapper::glNamedProgramLocalParameter4fEXT (glw::GLuint program, glw::GLenum target, glw::GLuint index, glw::GLfloat x, glw::GLfloat y, glw::GLfloat z, glw::GLfloat w)
   3946 {
   3947 	if (m_enableLog)
   3948 		m_log << TestLog::Message << "glNamedProgramLocalParameter4fEXT(" << program << ", " << toHex(target) << ", " << index << ", " << x << ", " << y << ", " << z << ", " << w << ");" << TestLog::EndMessage;
   3949 	m_gl.namedProgramLocalParameter4fEXT(program, target, index, x, y, z, w);
   3950 }
   3951 
   3952 void CallLogWrapper::glNamedProgramLocalParameter4fvEXT (glw::GLuint program, glw::GLenum target, glw::GLuint index, const glw::GLfloat *params)
   3953 {
   3954 	if (m_enableLog)
   3955 		m_log << TestLog::Message << "glNamedProgramLocalParameter4fvEXT(" << program << ", " << toHex(target) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   3956 	m_gl.namedProgramLocalParameter4fvEXT(program, target, index, params);
   3957 }
   3958 
   3959 void CallLogWrapper::glNamedProgramLocalParameterI4iEXT (glw::GLuint program, glw::GLenum target, glw::GLuint index, glw::GLint x, glw::GLint y, glw::GLint z, glw::GLint w)
   3960 {
   3961 	if (m_enableLog)
   3962 		m_log << TestLog::Message << "glNamedProgramLocalParameterI4iEXT(" << program << ", " << toHex(target) << ", " << index << ", " << x << ", " << y << ", " << z << ", " << w << ");" << TestLog::EndMessage;
   3963 	m_gl.namedProgramLocalParameterI4iEXT(program, target, index, x, y, z, w);
   3964 }
   3965 
   3966 void CallLogWrapper::glNamedProgramLocalParameterI4ivEXT (glw::GLuint program, glw::GLenum target, glw::GLuint index, const glw::GLint *params)
   3967 {
   3968 	if (m_enableLog)
   3969 		m_log << TestLog::Message << "glNamedProgramLocalParameterI4ivEXT(" << program << ", " << toHex(target) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   3970 	m_gl.namedProgramLocalParameterI4ivEXT(program, target, index, params);
   3971 }
   3972 
   3973 void CallLogWrapper::glNamedProgramLocalParameterI4uiEXT (glw::GLuint program, glw::GLenum target, glw::GLuint index, glw::GLuint x, glw::GLuint y, glw::GLuint z, glw::GLuint w)
   3974 {
   3975 	if (m_enableLog)
   3976 		m_log << TestLog::Message << "glNamedProgramLocalParameterI4uiEXT(" << program << ", " << toHex(target) << ", " << index << ", " << x << ", " << y << ", " << z << ", " << w << ");" << TestLog::EndMessage;
   3977 	m_gl.namedProgramLocalParameterI4uiEXT(program, target, index, x, y, z, w);
   3978 }
   3979 
   3980 void CallLogWrapper::glNamedProgramLocalParameterI4uivEXT (glw::GLuint program, glw::GLenum target, glw::GLuint index, const glw::GLuint *params)
   3981 {
   3982 	if (m_enableLog)
   3983 		m_log << TestLog::Message << "glNamedProgramLocalParameterI4uivEXT(" << program << ", " << toHex(target) << ", " << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   3984 	m_gl.namedProgramLocalParameterI4uivEXT(program, target, index, params);
   3985 }
   3986 
   3987 void CallLogWrapper::glNamedProgramLocalParameters4fvEXT (glw::GLuint program, glw::GLenum target, glw::GLuint index, glw::GLsizei count, const glw::GLfloat *params)
   3988 {
   3989 	if (m_enableLog)
   3990 		m_log << TestLog::Message << "glNamedProgramLocalParameters4fvEXT(" << program << ", " << toHex(target) << ", " << index << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   3991 	m_gl.namedProgramLocalParameters4fvEXT(program, target, index, count, params);
   3992 }
   3993 
   3994 void CallLogWrapper::glNamedProgramLocalParametersI4ivEXT (glw::GLuint program, glw::GLenum target, glw::GLuint index, glw::GLsizei count, const glw::GLint *params)
   3995 {
   3996 	if (m_enableLog)
   3997 		m_log << TestLog::Message << "glNamedProgramLocalParametersI4ivEXT(" << program << ", " << toHex(target) << ", " << index << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   3998 	m_gl.namedProgramLocalParametersI4ivEXT(program, target, index, count, params);
   3999 }
   4000 
   4001 void CallLogWrapper::glNamedProgramLocalParametersI4uivEXT (glw::GLuint program, glw::GLenum target, glw::GLuint index, glw::GLsizei count, const glw::GLuint *params)
   4002 {
   4003 	if (m_enableLog)
   4004 		m_log << TestLog::Message << "glNamedProgramLocalParametersI4uivEXT(" << program << ", " << toHex(target) << ", " << index << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   4005 	m_gl.namedProgramLocalParametersI4uivEXT(program, target, index, count, params);
   4006 }
   4007 
   4008 void CallLogWrapper::glNamedProgramStringEXT (glw::GLuint program, glw::GLenum target, glw::GLenum format, glw::GLsizei len, const void *string)
   4009 {
   4010 	if (m_enableLog)
   4011 		m_log << TestLog::Message << "glNamedProgramStringEXT(" << program << ", " << toHex(target) << ", " << toHex(format) << ", " << len << ", " << string << ");" << TestLog::EndMessage;
   4012 	m_gl.namedProgramStringEXT(program, target, format, len, string);
   4013 }
   4014 
   4015 void CallLogWrapper::glNamedRenderbufferStorage (glw::GLuint renderbuffer, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height)
   4016 {
   4017 	if (m_enableLog)
   4018 		m_log << TestLog::Message << "glNamedRenderbufferStorage(" << renderbuffer << ", " << toHex(internalformat) << ", " << width << ", " << height << ");" << TestLog::EndMessage;
   4019 	m_gl.namedRenderbufferStorage(renderbuffer, internalformat, width, height);
   4020 }
   4021 
   4022 void CallLogWrapper::glNamedRenderbufferStorageEXT (glw::GLuint renderbuffer, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height)
   4023 {
   4024 	if (m_enableLog)
   4025 		m_log << TestLog::Message << "glNamedRenderbufferStorageEXT(" << renderbuffer << ", " << toHex(internalformat) << ", " << width << ", " << height << ");" << TestLog::EndMessage;
   4026 	m_gl.namedRenderbufferStorageEXT(renderbuffer, internalformat, width, height);
   4027 }
   4028 
   4029 void CallLogWrapper::glNamedRenderbufferStorageMultisample (glw::GLuint renderbuffer, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height)
   4030 {
   4031 	if (m_enableLog)
   4032 		m_log << TestLog::Message << "glNamedRenderbufferStorageMultisample(" << renderbuffer << ", " << samples << ", " << toHex(internalformat) << ", " << width << ", " << height << ");" << TestLog::EndMessage;
   4033 	m_gl.namedRenderbufferStorageMultisample(renderbuffer, samples, internalformat, width, height);
   4034 }
   4035 
   4036 void CallLogWrapper::glNamedRenderbufferStorageMultisampleCoverageEXT (glw::GLuint renderbuffer, glw::GLsizei coverageSamples, glw::GLsizei colorSamples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height)
   4037 {
   4038 	if (m_enableLog)
   4039 		m_log << TestLog::Message << "glNamedRenderbufferStorageMultisampleCoverageEXT(" << renderbuffer << ", " << coverageSamples << ", " << colorSamples << ", " << toHex(internalformat) << ", " << width << ", " << height << ");" << TestLog::EndMessage;
   4040 	m_gl.namedRenderbufferStorageMultisampleCoverageEXT(renderbuffer, coverageSamples, colorSamples, internalformat, width, height);
   4041 }
   4042 
   4043 void CallLogWrapper::glNamedRenderbufferStorageMultisampleEXT (glw::GLuint renderbuffer, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height)
   4044 {
   4045 	if (m_enableLog)
   4046 		m_log << TestLog::Message << "glNamedRenderbufferStorageMultisampleEXT(" << renderbuffer << ", " << samples << ", " << toHex(internalformat) << ", " << width << ", " << height << ");" << TestLog::EndMessage;
   4047 	m_gl.namedRenderbufferStorageMultisampleEXT(renderbuffer, samples, internalformat, width, height);
   4048 }
   4049 
   4050 void CallLogWrapper::glObjectLabel (glw::GLenum identifier, glw::GLuint name, glw::GLsizei length, const glw::GLchar *label)
   4051 {
   4052 	if (m_enableLog)
   4053 		m_log << TestLog::Message << "glObjectLabel(" << toHex(identifier) << ", " << name << ", " << length << ", " << getStringStr(label) << ");" << TestLog::EndMessage;
   4054 	m_gl.objectLabel(identifier, name, length, label);
   4055 }
   4056 
   4057 void CallLogWrapper::glObjectPtrLabel (const void *ptr, glw::GLsizei length, const glw::GLchar *label)
   4058 {
   4059 	if (m_enableLog)
   4060 		m_log << TestLog::Message << "glObjectPtrLabel(" << ptr << ", " << length << ", " << getStringStr(label) << ");" << TestLog::EndMessage;
   4061 	m_gl.objectPtrLabel(ptr, length, label);
   4062 }
   4063 
   4064 void CallLogWrapper::glPatchParameterfv (glw::GLenum pname, const glw::GLfloat *values)
   4065 {
   4066 	if (m_enableLog)
   4067 		m_log << TestLog::Message << "glPatchParameterfv(" << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(values))) << ");" << TestLog::EndMessage;
   4068 	m_gl.patchParameterfv(pname, values);
   4069 }
   4070 
   4071 void CallLogWrapper::glPatchParameteri (glw::GLenum pname, glw::GLint value)
   4072 {
   4073 	if (m_enableLog)
   4074 		m_log << TestLog::Message << "glPatchParameteri(" << getPatchParamStr(pname) << ", " << value << ");" << TestLog::EndMessage;
   4075 	m_gl.patchParameteri(pname, value);
   4076 }
   4077 
   4078 void CallLogWrapper::glPauseTransformFeedback (void)
   4079 {
   4080 	if (m_enableLog)
   4081 		m_log << TestLog::Message << "glPauseTransformFeedback(" << ");" << TestLog::EndMessage;
   4082 	m_gl.pauseTransformFeedback();
   4083 }
   4084 
   4085 void CallLogWrapper::glPixelStoref (glw::GLenum pname, glw::GLfloat param)
   4086 {
   4087 	if (m_enableLog)
   4088 		m_log << TestLog::Message << "glPixelStoref(" << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
   4089 	m_gl.pixelStoref(pname, param);
   4090 }
   4091 
   4092 void CallLogWrapper::glPixelStorei (glw::GLenum pname, glw::GLint param)
   4093 {
   4094 	if (m_enableLog)
   4095 		m_log << TestLog::Message << "glPixelStorei(" << getPixelStoreParameterStr(pname) << ", " << param << ");" << TestLog::EndMessage;
   4096 	m_gl.pixelStorei(pname, param);
   4097 }
   4098 
   4099 void CallLogWrapper::glPointParameterf (glw::GLenum pname, glw::GLfloat param)
   4100 {
   4101 	if (m_enableLog)
   4102 		m_log << TestLog::Message << "glPointParameterf(" << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
   4103 	m_gl.pointParameterf(pname, param);
   4104 }
   4105 
   4106 void CallLogWrapper::glPointParameterfv (glw::GLenum pname, const glw::GLfloat *params)
   4107 {
   4108 	if (m_enableLog)
   4109 		m_log << TestLog::Message << "glPointParameterfv(" << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   4110 	m_gl.pointParameterfv(pname, params);
   4111 }
   4112 
   4113 void CallLogWrapper::glPointParameteri (glw::GLenum pname, glw::GLint param)
   4114 {
   4115 	if (m_enableLog)
   4116 		m_log << TestLog::Message << "glPointParameteri(" << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
   4117 	m_gl.pointParameteri(pname, param);
   4118 }
   4119 
   4120 void CallLogWrapper::glPointParameteriv (glw::GLenum pname, const glw::GLint *params)
   4121 {
   4122 	if (m_enableLog)
   4123 		m_log << TestLog::Message << "glPointParameteriv(" << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   4124 	m_gl.pointParameteriv(pname, params);
   4125 }
   4126 
   4127 void CallLogWrapper::glPointSize (glw::GLfloat size)
   4128 {
   4129 	if (m_enableLog)
   4130 		m_log << TestLog::Message << "glPointSize(" << size << ");" << TestLog::EndMessage;
   4131 	m_gl.pointSize(size);
   4132 }
   4133 
   4134 void CallLogWrapper::glPolygonMode (glw::GLenum face, glw::GLenum mode)
   4135 {
   4136 	if (m_enableLog)
   4137 		m_log << TestLog::Message << "glPolygonMode(" << toHex(face) << ", " << toHex(mode) << ");" << TestLog::EndMessage;
   4138 	m_gl.polygonMode(face, mode);
   4139 }
   4140 
   4141 void CallLogWrapper::glPolygonOffset (glw::GLfloat factor, glw::GLfloat units)
   4142 {
   4143 	if (m_enableLog)
   4144 		m_log << TestLog::Message << "glPolygonOffset(" << factor << ", " << units << ");" << TestLog::EndMessage;
   4145 	m_gl.polygonOffset(factor, units);
   4146 }
   4147 
   4148 void CallLogWrapper::glPolygonOffsetClamp (glw::GLfloat factor, glw::GLfloat units, glw::GLfloat clamp)
   4149 {
   4150 	if (m_enableLog)
   4151 		m_log << TestLog::Message << "glPolygonOffsetClamp(" << factor << ", " << units << ", " << clamp << ");" << TestLog::EndMessage;
   4152 	m_gl.polygonOffsetClamp(factor, units, clamp);
   4153 }
   4154 
   4155 void CallLogWrapper::glPopDebugGroup (void)
   4156 {
   4157 	if (m_enableLog)
   4158 		m_log << TestLog::Message << "glPopDebugGroup(" << ");" << TestLog::EndMessage;
   4159 	m_gl.popDebugGroup();
   4160 }
   4161 
   4162 void CallLogWrapper::glPopGroupMarkerEXT (void)
   4163 {
   4164 	if (m_enableLog)
   4165 		m_log << TestLog::Message << "glPopGroupMarkerEXT(" << ");" << TestLog::EndMessage;
   4166 	m_gl.popGroupMarkerEXT();
   4167 }
   4168 
   4169 void CallLogWrapper::glPrimitiveBoundingBox (glw::GLfloat minX, glw::GLfloat minY, glw::GLfloat minZ, glw::GLfloat minW, glw::GLfloat maxX, glw::GLfloat maxY, glw::GLfloat maxZ, glw::GLfloat maxW)
   4170 {
   4171 	if (m_enableLog)
   4172 		m_log << TestLog::Message << "glPrimitiveBoundingBox(" << minX << ", " << minY << ", " << minZ << ", " << minW << ", " << maxX << ", " << maxY << ", " << maxZ << ", " << maxW << ");" << TestLog::EndMessage;
   4173 	m_gl.primitiveBoundingBox(minX, minY, minZ, minW, maxX, maxY, maxZ, maxW);
   4174 }
   4175 
   4176 void CallLogWrapper::glPrimitiveRestartIndex (glw::GLuint index)
   4177 {
   4178 	if (m_enableLog)
   4179 		m_log << TestLog::Message << "glPrimitiveRestartIndex(" << index << ");" << TestLog::EndMessage;
   4180 	m_gl.primitiveRestartIndex(index);
   4181 }
   4182 
   4183 void CallLogWrapper::glProgramBinary (glw::GLuint program, glw::GLenum binaryFormat, const void *binary, glw::GLsizei length)
   4184 {
   4185 	if (m_enableLog)
   4186 		m_log << TestLog::Message << "glProgramBinary(" << program << ", " << toHex(binaryFormat) << ", " << binary << ", " << length << ");" << TestLog::EndMessage;
   4187 	m_gl.programBinary(program, binaryFormat, binary, length);
   4188 }
   4189 
   4190 void CallLogWrapper::glProgramParameteri (glw::GLuint program, glw::GLenum pname, glw::GLint value)
   4191 {
   4192 	if (m_enableLog)
   4193 		m_log << TestLog::Message << "glProgramParameteri(" << program << ", " << getProgramParamStr(pname) << ", " << value << ");" << TestLog::EndMessage;
   4194 	m_gl.programParameteri(program, pname, value);
   4195 }
   4196 
   4197 void CallLogWrapper::glProgramUniform1d (glw::GLuint program, glw::GLint location, glw::GLdouble v0)
   4198 {
   4199 	if (m_enableLog)
   4200 		m_log << TestLog::Message << "glProgramUniform1d(" << program << ", " << location << ", " << v0 << ");" << TestLog::EndMessage;
   4201 	m_gl.programUniform1d(program, location, v0);
   4202 }
   4203 
   4204 void CallLogWrapper::glProgramUniform1dEXT (glw::GLuint program, glw::GLint location, glw::GLdouble x)
   4205 {
   4206 	if (m_enableLog)
   4207 		m_log << TestLog::Message << "glProgramUniform1dEXT(" << program << ", " << location << ", " << x << ");" << TestLog::EndMessage;
   4208 	m_gl.programUniform1dEXT(program, location, x);
   4209 }
   4210 
   4211 void CallLogWrapper::glProgramUniform1dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
   4212 {
   4213 	if (m_enableLog)
   4214 		m_log << TestLog::Message << "glProgramUniform1dv(" << program << ", " << location << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4215 	m_gl.programUniform1dv(program, location, count, value);
   4216 }
   4217 
   4218 void CallLogWrapper::glProgramUniform1dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
   4219 {
   4220 	if (m_enableLog)
   4221 		m_log << TestLog::Message << "glProgramUniform1dvEXT(" << program << ", " << location << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4222 	m_gl.programUniform1dvEXT(program, location, count, value);
   4223 }
   4224 
   4225 void CallLogWrapper::glProgramUniform1f (glw::GLuint program, glw::GLint location, glw::GLfloat v0)
   4226 {
   4227 	if (m_enableLog)
   4228 		m_log << TestLog::Message << "glProgramUniform1f(" << program << ", " << location << ", " << v0 << ");" << TestLog::EndMessage;
   4229 	m_gl.programUniform1f(program, location, v0);
   4230 }
   4231 
   4232 void CallLogWrapper::glProgramUniform1fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLfloat *value)
   4233 {
   4234 	if (m_enableLog)
   4235 		m_log << TestLog::Message << "glProgramUniform1fv(" << program << ", " << location << ", " << count << ", " << getPointerStr(value, (count * 1)) << ");" << TestLog::EndMessage;
   4236 	m_gl.programUniform1fv(program, location, count, value);
   4237 }
   4238 
   4239 void CallLogWrapper::glProgramUniform1i (glw::GLuint program, glw::GLint location, glw::GLint v0)
   4240 {
   4241 	if (m_enableLog)
   4242 		m_log << TestLog::Message << "glProgramUniform1i(" << program << ", " << location << ", " << v0 << ");" << TestLog::EndMessage;
   4243 	m_gl.programUniform1i(program, location, v0);
   4244 }
   4245 
   4246 void CallLogWrapper::glProgramUniform1iv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLint *value)
   4247 {
   4248 	if (m_enableLog)
   4249 		m_log << TestLog::Message << "glProgramUniform1iv(" << program << ", " << location << ", " << count << ", " << getPointerStr(value, (count * 1)) << ");" << TestLog::EndMessage;
   4250 	m_gl.programUniform1iv(program, location, count, value);
   4251 }
   4252 
   4253 void CallLogWrapper::glProgramUniform1ui (glw::GLuint program, glw::GLint location, glw::GLuint v0)
   4254 {
   4255 	if (m_enableLog)
   4256 		m_log << TestLog::Message << "glProgramUniform1ui(" << program << ", " << location << ", " << v0 << ");" << TestLog::EndMessage;
   4257 	m_gl.programUniform1ui(program, location, v0);
   4258 }
   4259 
   4260 void CallLogWrapper::glProgramUniform1uiv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLuint *value)
   4261 {
   4262 	if (m_enableLog)
   4263 		m_log << TestLog::Message << "glProgramUniform1uiv(" << program << ", " << location << ", " << count << ", " << getPointerStr(value, (count * 1)) << ");" << TestLog::EndMessage;
   4264 	m_gl.programUniform1uiv(program, location, count, value);
   4265 }
   4266 
   4267 void CallLogWrapper::glProgramUniform2d (glw::GLuint program, glw::GLint location, glw::GLdouble v0, glw::GLdouble v1)
   4268 {
   4269 	if (m_enableLog)
   4270 		m_log << TestLog::Message << "glProgramUniform2d(" << program << ", " << location << ", " << v0 << ", " << v1 << ");" << TestLog::EndMessage;
   4271 	m_gl.programUniform2d(program, location, v0, v1);
   4272 }
   4273 
   4274 void CallLogWrapper::glProgramUniform2dEXT (glw::GLuint program, glw::GLint location, glw::GLdouble x, glw::GLdouble y)
   4275 {
   4276 	if (m_enableLog)
   4277 		m_log << TestLog::Message << "glProgramUniform2dEXT(" << program << ", " << location << ", " << x << ", " << y << ");" << TestLog::EndMessage;
   4278 	m_gl.programUniform2dEXT(program, location, x, y);
   4279 }
   4280 
   4281 void CallLogWrapper::glProgramUniform2dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
   4282 {
   4283 	if (m_enableLog)
   4284 		m_log << TestLog::Message << "glProgramUniform2dv(" << program << ", " << location << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4285 	m_gl.programUniform2dv(program, location, count, value);
   4286 }
   4287 
   4288 void CallLogWrapper::glProgramUniform2dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
   4289 {
   4290 	if (m_enableLog)
   4291 		m_log << TestLog::Message << "glProgramUniform2dvEXT(" << program << ", " << location << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4292 	m_gl.programUniform2dvEXT(program, location, count, value);
   4293 }
   4294 
   4295 void CallLogWrapper::glProgramUniform2f (glw::GLuint program, glw::GLint location, glw::GLfloat v0, glw::GLfloat v1)
   4296 {
   4297 	if (m_enableLog)
   4298 		m_log << TestLog::Message << "glProgramUniform2f(" << program << ", " << location << ", " << v0 << ", " << v1 << ");" << TestLog::EndMessage;
   4299 	m_gl.programUniform2f(program, location, v0, v1);
   4300 }
   4301 
   4302 void CallLogWrapper::glProgramUniform2fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLfloat *value)
   4303 {
   4304 	if (m_enableLog)
   4305 		m_log << TestLog::Message << "glProgramUniform2fv(" << program << ", " << location << ", " << count << ", " << getPointerStr(value, (count * 2)) << ");" << TestLog::EndMessage;
   4306 	m_gl.programUniform2fv(program, location, count, value);
   4307 }
   4308 
   4309 void CallLogWrapper::glProgramUniform2i (glw::GLuint program, glw::GLint location, glw::GLint v0, glw::GLint v1)
   4310 {
   4311 	if (m_enableLog)
   4312 		m_log << TestLog::Message << "glProgramUniform2i(" << program << ", " << location << ", " << v0 << ", " << v1 << ");" << TestLog::EndMessage;
   4313 	m_gl.programUniform2i(program, location, v0, v1);
   4314 }
   4315 
   4316 void CallLogWrapper::glProgramUniform2iv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLint *value)
   4317 {
   4318 	if (m_enableLog)
   4319 		m_log << TestLog::Message << "glProgramUniform2iv(" << program << ", " << location << ", " << count << ", " << getPointerStr(value, (count * 2)) << ");" << TestLog::EndMessage;
   4320 	m_gl.programUniform2iv(program, location, count, value);
   4321 }
   4322 
   4323 void CallLogWrapper::glProgramUniform2ui (glw::GLuint program, glw::GLint location, glw::GLuint v0, glw::GLuint v1)
   4324 {
   4325 	if (m_enableLog)
   4326 		m_log << TestLog::Message << "glProgramUniform2ui(" << program << ", " << location << ", " << v0 << ", " << v1 << ");" << TestLog::EndMessage;
   4327 	m_gl.programUniform2ui(program, location, v0, v1);
   4328 }
   4329 
   4330 void CallLogWrapper::glProgramUniform2uiv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLuint *value)
   4331 {
   4332 	if (m_enableLog)
   4333 		m_log << TestLog::Message << "glProgramUniform2uiv(" << program << ", " << location << ", " << count << ", " << getPointerStr(value, (count * 2)) << ");" << TestLog::EndMessage;
   4334 	m_gl.programUniform2uiv(program, location, count, value);
   4335 }
   4336 
   4337 void CallLogWrapper::glProgramUniform3d (glw::GLuint program, glw::GLint location, glw::GLdouble v0, glw::GLdouble v1, glw::GLdouble v2)
   4338 {
   4339 	if (m_enableLog)
   4340 		m_log << TestLog::Message << "glProgramUniform3d(" << program << ", " << location << ", " << v0 << ", " << v1 << ", " << v2 << ");" << TestLog::EndMessage;
   4341 	m_gl.programUniform3d(program, location, v0, v1, v2);
   4342 }
   4343 
   4344 void CallLogWrapper::glProgramUniform3dEXT (glw::GLuint program, glw::GLint location, glw::GLdouble x, glw::GLdouble y, glw::GLdouble z)
   4345 {
   4346 	if (m_enableLog)
   4347 		m_log << TestLog::Message << "glProgramUniform3dEXT(" << program << ", " << location << ", " << x << ", " << y << ", " << z << ");" << TestLog::EndMessage;
   4348 	m_gl.programUniform3dEXT(program, location, x, y, z);
   4349 }
   4350 
   4351 void CallLogWrapper::glProgramUniform3dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
   4352 {
   4353 	if (m_enableLog)
   4354 		m_log << TestLog::Message << "glProgramUniform3dv(" << program << ", " << location << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4355 	m_gl.programUniform3dv(program, location, count, value);
   4356 }
   4357 
   4358 void CallLogWrapper::glProgramUniform3dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
   4359 {
   4360 	if (m_enableLog)
   4361 		m_log << TestLog::Message << "glProgramUniform3dvEXT(" << program << ", " << location << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4362 	m_gl.programUniform3dvEXT(program, location, count, value);
   4363 }
   4364 
   4365 void CallLogWrapper::glProgramUniform3f (glw::GLuint program, glw::GLint location, glw::GLfloat v0, glw::GLfloat v1, glw::GLfloat v2)
   4366 {
   4367 	if (m_enableLog)
   4368 		m_log << TestLog::Message << "glProgramUniform3f(" << program << ", " << location << ", " << v0 << ", " << v1 << ", " << v2 << ");" << TestLog::EndMessage;
   4369 	m_gl.programUniform3f(program, location, v0, v1, v2);
   4370 }
   4371 
   4372 void CallLogWrapper::glProgramUniform3fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLfloat *value)
   4373 {
   4374 	if (m_enableLog)
   4375 		m_log << TestLog::Message << "glProgramUniform3fv(" << program << ", " << location << ", " << count << ", " << getPointerStr(value, (count * 3)) << ");" << TestLog::EndMessage;
   4376 	m_gl.programUniform3fv(program, location, count, value);
   4377 }
   4378 
   4379 void CallLogWrapper::glProgramUniform3i (glw::GLuint program, glw::GLint location, glw::GLint v0, glw::GLint v1, glw::GLint v2)
   4380 {
   4381 	if (m_enableLog)
   4382 		m_log << TestLog::Message << "glProgramUniform3i(" << program << ", " << location << ", " << v0 << ", " << v1 << ", " << v2 << ");" << TestLog::EndMessage;
   4383 	m_gl.programUniform3i(program, location, v0, v1, v2);
   4384 }
   4385 
   4386 void CallLogWrapper::glProgramUniform3iv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLint *value)
   4387 {
   4388 	if (m_enableLog)
   4389 		m_log << TestLog::Message << "glProgramUniform3iv(" << program << ", " << location << ", " << count << ", " << getPointerStr(value, (count * 3)) << ");" << TestLog::EndMessage;
   4390 	m_gl.programUniform3iv(program, location, count, value);
   4391 }
   4392 
   4393 void CallLogWrapper::glProgramUniform3ui (glw::GLuint program, glw::GLint location, glw::GLuint v0, glw::GLuint v1, glw::GLuint v2)
   4394 {
   4395 	if (m_enableLog)
   4396 		m_log << TestLog::Message << "glProgramUniform3ui(" << program << ", " << location << ", " << v0 << ", " << v1 << ", " << v2 << ");" << TestLog::EndMessage;
   4397 	m_gl.programUniform3ui(program, location, v0, v1, v2);
   4398 }
   4399 
   4400 void CallLogWrapper::glProgramUniform3uiv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLuint *value)
   4401 {
   4402 	if (m_enableLog)
   4403 		m_log << TestLog::Message << "glProgramUniform3uiv(" << program << ", " << location << ", " << count << ", " << getPointerStr(value, (count * 3)) << ");" << TestLog::EndMessage;
   4404 	m_gl.programUniform3uiv(program, location, count, value);
   4405 }
   4406 
   4407 void CallLogWrapper::glProgramUniform4d (glw::GLuint program, glw::GLint location, glw::GLdouble v0, glw::GLdouble v1, glw::GLdouble v2, glw::GLdouble v3)
   4408 {
   4409 	if (m_enableLog)
   4410 		m_log << TestLog::Message << "glProgramUniform4d(" << program << ", " << location << ", " << v0 << ", " << v1 << ", " << v2 << ", " << v3 << ");" << TestLog::EndMessage;
   4411 	m_gl.programUniform4d(program, location, v0, v1, v2, v3);
   4412 }
   4413 
   4414 void CallLogWrapper::glProgramUniform4dEXT (glw::GLuint program, glw::GLint location, glw::GLdouble x, glw::GLdouble y, glw::GLdouble z, glw::GLdouble w)
   4415 {
   4416 	if (m_enableLog)
   4417 		m_log << TestLog::Message << "glProgramUniform4dEXT(" << program << ", " << location << ", " << x << ", " << y << ", " << z << ", " << w << ");" << TestLog::EndMessage;
   4418 	m_gl.programUniform4dEXT(program, location, x, y, z, w);
   4419 }
   4420 
   4421 void CallLogWrapper::glProgramUniform4dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
   4422 {
   4423 	if (m_enableLog)
   4424 		m_log << TestLog::Message << "glProgramUniform4dv(" << program << ", " << location << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4425 	m_gl.programUniform4dv(program, location, count, value);
   4426 }
   4427 
   4428 void CallLogWrapper::glProgramUniform4dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
   4429 {
   4430 	if (m_enableLog)
   4431 		m_log << TestLog::Message << "glProgramUniform4dvEXT(" << program << ", " << location << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4432 	m_gl.programUniform4dvEXT(program, location, count, value);
   4433 }
   4434 
   4435 void CallLogWrapper::glProgramUniform4f (glw::GLuint program, glw::GLint location, glw::GLfloat v0, glw::GLfloat v1, glw::GLfloat v2, glw::GLfloat v3)
   4436 {
   4437 	if (m_enableLog)
   4438 		m_log << TestLog::Message << "glProgramUniform4f(" << program << ", " << location << ", " << v0 << ", " << v1 << ", " << v2 << ", " << v3 << ");" << TestLog::EndMessage;
   4439 	m_gl.programUniform4f(program, location, v0, v1, v2, v3);
   4440 }
   4441 
   4442 void CallLogWrapper::glProgramUniform4fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLfloat *value)
   4443 {
   4444 	if (m_enableLog)
   4445 		m_log << TestLog::Message << "glProgramUniform4fv(" << program << ", " << location << ", " << count << ", " << getPointerStr(value, (count * 4)) << ");" << TestLog::EndMessage;
   4446 	m_gl.programUniform4fv(program, location, count, value);
   4447 }
   4448 
   4449 void CallLogWrapper::glProgramUniform4i (glw::GLuint program, glw::GLint location, glw::GLint v0, glw::GLint v1, glw::GLint v2, glw::GLint v3)
   4450 {
   4451 	if (m_enableLog)
   4452 		m_log << TestLog::Message << "glProgramUniform4i(" << program << ", " << location << ", " << v0 << ", " << v1 << ", " << v2 << ", " << v3 << ");" << TestLog::EndMessage;
   4453 	m_gl.programUniform4i(program, location, v0, v1, v2, v3);
   4454 }
   4455 
   4456 void CallLogWrapper::glProgramUniform4iv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLint *value)
   4457 {
   4458 	if (m_enableLog)
   4459 		m_log << TestLog::Message << "glProgramUniform4iv(" << program << ", " << location << ", " << count << ", " << getPointerStr(value, (count * 4)) << ");" << TestLog::EndMessage;
   4460 	m_gl.programUniform4iv(program, location, count, value);
   4461 }
   4462 
   4463 void CallLogWrapper::glProgramUniform4ui (glw::GLuint program, glw::GLint location, glw::GLuint v0, glw::GLuint v1, glw::GLuint v2, glw::GLuint v3)
   4464 {
   4465 	if (m_enableLog)
   4466 		m_log << TestLog::Message << "glProgramUniform4ui(" << program << ", " << location << ", " << v0 << ", " << v1 << ", " << v2 << ", " << v3 << ");" << TestLog::EndMessage;
   4467 	m_gl.programUniform4ui(program, location, v0, v1, v2, v3);
   4468 }
   4469 
   4470 void CallLogWrapper::glProgramUniform4uiv (glw::GLuint program, glw::GLint location, glw::GLsizei count, const glw::GLuint *value)
   4471 {
   4472 	if (m_enableLog)
   4473 		m_log << TestLog::Message << "glProgramUniform4uiv(" << program << ", " << location << ", " << count << ", " << getPointerStr(value, (count * 4)) << ");" << TestLog::EndMessage;
   4474 	m_gl.programUniform4uiv(program, location, count, value);
   4475 }
   4476 
   4477 void CallLogWrapper::glProgramUniformMatrix2dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   4478 {
   4479 	if (m_enableLog)
   4480 		m_log << TestLog::Message << "glProgramUniformMatrix2dv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4481 	m_gl.programUniformMatrix2dv(program, location, count, transpose, value);
   4482 }
   4483 
   4484 void CallLogWrapper::glProgramUniformMatrix2dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   4485 {
   4486 	if (m_enableLog)
   4487 		m_log << TestLog::Message << "glProgramUniformMatrix2dvEXT(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4488 	m_gl.programUniformMatrix2dvEXT(program, location, count, transpose, value);
   4489 }
   4490 
   4491 void CallLogWrapper::glProgramUniformMatrix2fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
   4492 {
   4493 	if (m_enableLog)
   4494 		m_log << TestLog::Message << "glProgramUniformMatrix2fv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 2*2)) << ");" << TestLog::EndMessage;
   4495 	m_gl.programUniformMatrix2fv(program, location, count, transpose, value);
   4496 }
   4497 
   4498 void CallLogWrapper::glProgramUniformMatrix2x3dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   4499 {
   4500 	if (m_enableLog)
   4501 		m_log << TestLog::Message << "glProgramUniformMatrix2x3dv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4502 	m_gl.programUniformMatrix2x3dv(program, location, count, transpose, value);
   4503 }
   4504 
   4505 void CallLogWrapper::glProgramUniformMatrix2x3dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   4506 {
   4507 	if (m_enableLog)
   4508 		m_log << TestLog::Message << "glProgramUniformMatrix2x3dvEXT(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4509 	m_gl.programUniformMatrix2x3dvEXT(program, location, count, transpose, value);
   4510 }
   4511 
   4512 void CallLogWrapper::glProgramUniformMatrix2x3fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
   4513 {
   4514 	if (m_enableLog)
   4515 		m_log << TestLog::Message << "glProgramUniformMatrix2x3fv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 2*3)) << ");" << TestLog::EndMessage;
   4516 	m_gl.programUniformMatrix2x3fv(program, location, count, transpose, value);
   4517 }
   4518 
   4519 void CallLogWrapper::glProgramUniformMatrix2x4dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   4520 {
   4521 	if (m_enableLog)
   4522 		m_log << TestLog::Message << "glProgramUniformMatrix2x4dv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4523 	m_gl.programUniformMatrix2x4dv(program, location, count, transpose, value);
   4524 }
   4525 
   4526 void CallLogWrapper::glProgramUniformMatrix2x4dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   4527 {
   4528 	if (m_enableLog)
   4529 		m_log << TestLog::Message << "glProgramUniformMatrix2x4dvEXT(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4530 	m_gl.programUniformMatrix2x4dvEXT(program, location, count, transpose, value);
   4531 }
   4532 
   4533 void CallLogWrapper::glProgramUniformMatrix2x4fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
   4534 {
   4535 	if (m_enableLog)
   4536 		m_log << TestLog::Message << "glProgramUniformMatrix2x4fv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 2*4)) << ");" << TestLog::EndMessage;
   4537 	m_gl.programUniformMatrix2x4fv(program, location, count, transpose, value);
   4538 }
   4539 
   4540 void CallLogWrapper::glProgramUniformMatrix3dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   4541 {
   4542 	if (m_enableLog)
   4543 		m_log << TestLog::Message << "glProgramUniformMatrix3dv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4544 	m_gl.programUniformMatrix3dv(program, location, count, transpose, value);
   4545 }
   4546 
   4547 void CallLogWrapper::glProgramUniformMatrix3dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   4548 {
   4549 	if (m_enableLog)
   4550 		m_log << TestLog::Message << "glProgramUniformMatrix3dvEXT(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4551 	m_gl.programUniformMatrix3dvEXT(program, location, count, transpose, value);
   4552 }
   4553 
   4554 void CallLogWrapper::glProgramUniformMatrix3fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
   4555 {
   4556 	if (m_enableLog)
   4557 		m_log << TestLog::Message << "glProgramUniformMatrix3fv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 3*3)) << ");" << TestLog::EndMessage;
   4558 	m_gl.programUniformMatrix3fv(program, location, count, transpose, value);
   4559 }
   4560 
   4561 void CallLogWrapper::glProgramUniformMatrix3x2dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   4562 {
   4563 	if (m_enableLog)
   4564 		m_log << TestLog::Message << "glProgramUniformMatrix3x2dv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4565 	m_gl.programUniformMatrix3x2dv(program, location, count, transpose, value);
   4566 }
   4567 
   4568 void CallLogWrapper::glProgramUniformMatrix3x2dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   4569 {
   4570 	if (m_enableLog)
   4571 		m_log << TestLog::Message << "glProgramUniformMatrix3x2dvEXT(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4572 	m_gl.programUniformMatrix3x2dvEXT(program, location, count, transpose, value);
   4573 }
   4574 
   4575 void CallLogWrapper::glProgramUniformMatrix3x2fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
   4576 {
   4577 	if (m_enableLog)
   4578 		m_log << TestLog::Message << "glProgramUniformMatrix3x2fv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 3*2)) << ");" << TestLog::EndMessage;
   4579 	m_gl.programUniformMatrix3x2fv(program, location, count, transpose, value);
   4580 }
   4581 
   4582 void CallLogWrapper::glProgramUniformMatrix3x4dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   4583 {
   4584 	if (m_enableLog)
   4585 		m_log << TestLog::Message << "glProgramUniformMatrix3x4dv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4586 	m_gl.programUniformMatrix3x4dv(program, location, count, transpose, value);
   4587 }
   4588 
   4589 void CallLogWrapper::glProgramUniformMatrix3x4dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   4590 {
   4591 	if (m_enableLog)
   4592 		m_log << TestLog::Message << "glProgramUniformMatrix3x4dvEXT(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4593 	m_gl.programUniformMatrix3x4dvEXT(program, location, count, transpose, value);
   4594 }
   4595 
   4596 void CallLogWrapper::glProgramUniformMatrix3x4fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
   4597 {
   4598 	if (m_enableLog)
   4599 		m_log << TestLog::Message << "glProgramUniformMatrix3x4fv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 3*4)) << ");" << TestLog::EndMessage;
   4600 	m_gl.programUniformMatrix3x4fv(program, location, count, transpose, value);
   4601 }
   4602 
   4603 void CallLogWrapper::glProgramUniformMatrix4dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   4604 {
   4605 	if (m_enableLog)
   4606 		m_log << TestLog::Message << "glProgramUniformMatrix4dv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4607 	m_gl.programUniformMatrix4dv(program, location, count, transpose, value);
   4608 }
   4609 
   4610 void CallLogWrapper::glProgramUniformMatrix4dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   4611 {
   4612 	if (m_enableLog)
   4613 		m_log << TestLog::Message << "glProgramUniformMatrix4dvEXT(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4614 	m_gl.programUniformMatrix4dvEXT(program, location, count, transpose, value);
   4615 }
   4616 
   4617 void CallLogWrapper::glProgramUniformMatrix4fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
   4618 {
   4619 	if (m_enableLog)
   4620 		m_log << TestLog::Message << "glProgramUniformMatrix4fv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 4*4)) << ");" << TestLog::EndMessage;
   4621 	m_gl.programUniformMatrix4fv(program, location, count, transpose, value);
   4622 }
   4623 
   4624 void CallLogWrapper::glProgramUniformMatrix4x2dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   4625 {
   4626 	if (m_enableLog)
   4627 		m_log << TestLog::Message << "glProgramUniformMatrix4x2dv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4628 	m_gl.programUniformMatrix4x2dv(program, location, count, transpose, value);
   4629 }
   4630 
   4631 void CallLogWrapper::glProgramUniformMatrix4x2dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   4632 {
   4633 	if (m_enableLog)
   4634 		m_log << TestLog::Message << "glProgramUniformMatrix4x2dvEXT(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4635 	m_gl.programUniformMatrix4x2dvEXT(program, location, count, transpose, value);
   4636 }
   4637 
   4638 void CallLogWrapper::glProgramUniformMatrix4x2fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
   4639 {
   4640 	if (m_enableLog)
   4641 		m_log << TestLog::Message << "glProgramUniformMatrix4x2fv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 4*2)) << ");" << TestLog::EndMessage;
   4642 	m_gl.programUniformMatrix4x2fv(program, location, count, transpose, value);
   4643 }
   4644 
   4645 void CallLogWrapper::glProgramUniformMatrix4x3dv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   4646 {
   4647 	if (m_enableLog)
   4648 		m_log << TestLog::Message << "glProgramUniformMatrix4x3dv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4649 	m_gl.programUniformMatrix4x3dv(program, location, count, transpose, value);
   4650 }
   4651 
   4652 void CallLogWrapper::glProgramUniformMatrix4x3dvEXT (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   4653 {
   4654 	if (m_enableLog)
   4655 		m_log << TestLog::Message << "glProgramUniformMatrix4x3dvEXT(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   4656 	m_gl.programUniformMatrix4x3dvEXT(program, location, count, transpose, value);
   4657 }
   4658 
   4659 void CallLogWrapper::glProgramUniformMatrix4x3fv (glw::GLuint program, glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
   4660 {
   4661 	if (m_enableLog)
   4662 		m_log << TestLog::Message << "glProgramUniformMatrix4x3fv(" << program << ", " << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 4*3)) << ");" << TestLog::EndMessage;
   4663 	m_gl.programUniformMatrix4x3fv(program, location, count, transpose, value);
   4664 }
   4665 
   4666 void CallLogWrapper::glProvokingVertex (glw::GLenum mode)
   4667 {
   4668 	if (m_enableLog)
   4669 		m_log << TestLog::Message << "glProvokingVertex(" << getProvokingVertexStr(mode) << ");" << TestLog::EndMessage;
   4670 	m_gl.provokingVertex(mode);
   4671 }
   4672 
   4673 void CallLogWrapper::glPushClientAttribDefaultEXT (glw::GLbitfield mask)
   4674 {
   4675 	if (m_enableLog)
   4676 		m_log << TestLog::Message << "glPushClientAttribDefaultEXT(" << toHex(mask) << ");" << TestLog::EndMessage;
   4677 	m_gl.pushClientAttribDefaultEXT(mask);
   4678 }
   4679 
   4680 void CallLogWrapper::glPushDebugGroup (glw::GLenum source, glw::GLuint id, glw::GLsizei length, const glw::GLchar *message)
   4681 {
   4682 	if (m_enableLog)
   4683 		m_log << TestLog::Message << "glPushDebugGroup(" << getDebugMessageSourceStr(source) << ", " << id << ", " << length << ", " << getStringStr(message) << ");" << TestLog::EndMessage;
   4684 	m_gl.pushDebugGroup(source, id, length, message);
   4685 }
   4686 
   4687 void CallLogWrapper::glPushGroupMarkerEXT (glw::GLsizei length, const glw::GLchar *marker)
   4688 {
   4689 	if (m_enableLog)
   4690 		m_log << TestLog::Message << "glPushGroupMarkerEXT(" << length << ", " << getStringStr(marker) << ");" << TestLog::EndMessage;
   4691 	m_gl.pushGroupMarkerEXT(length, marker);
   4692 }
   4693 
   4694 void CallLogWrapper::glQueryCounter (glw::GLuint id, glw::GLenum target)
   4695 {
   4696 	if (m_enableLog)
   4697 		m_log << TestLog::Message << "glQueryCounter(" << id << ", " << toHex(target) << ");" << TestLog::EndMessage;
   4698 	m_gl.queryCounter(id, target);
   4699 }
   4700 
   4701 void CallLogWrapper::glReadBuffer (glw::GLenum src)
   4702 {
   4703 	if (m_enableLog)
   4704 		m_log << TestLog::Message << "glReadBuffer(" << getDrawReadBufferStr(src) << ");" << TestLog::EndMessage;
   4705 	m_gl.readBuffer(src);
   4706 }
   4707 
   4708 void CallLogWrapper::glReadPixels (glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height, glw::GLenum format, glw::GLenum type, void *pixels)
   4709 {
   4710 	if (m_enableLog)
   4711 		m_log << TestLog::Message << "glReadPixels(" << x << ", " << y << ", " << width << ", " << height << ", " << getUncompressedTextureFormatStr(format) << ", " << getTypeStr(type) << ", " << pixels << ");" << TestLog::EndMessage;
   4712 	m_gl.readPixels(x, y, width, height, format, type, pixels);
   4713 }
   4714 
   4715 void 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)
   4716 {
   4717 	if (m_enableLog)
   4718 		m_log << TestLog::Message << "glReadnPixels(" << x << ", " << y << ", " << width << ", " << height << ", " << toHex(format) << ", " << toHex(type) << ", " << bufSize << ", " << data << ");" << TestLog::EndMessage;
   4719 	m_gl.readnPixels(x, y, width, height, format, type, bufSize, data);
   4720 }
   4721 
   4722 void CallLogWrapper::glReleaseShaderCompiler (void)
   4723 {
   4724 	if (m_enableLog)
   4725 		m_log << TestLog::Message << "glReleaseShaderCompiler(" << ");" << TestLog::EndMessage;
   4726 	m_gl.releaseShaderCompiler();
   4727 }
   4728 
   4729 void CallLogWrapper::glRenderGpuMaskNV (glw::GLbitfield mask)
   4730 {
   4731 	if (m_enableLog)
   4732 		m_log << TestLog::Message << "glRenderGpuMaskNV(" << toHex(mask) << ");" << TestLog::EndMessage;
   4733 	m_gl.renderGpuMaskNV(mask);
   4734 }
   4735 
   4736 void CallLogWrapper::glRenderbufferStorage (glw::GLenum target, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height)
   4737 {
   4738 	if (m_enableLog)
   4739 		m_log << TestLog::Message << "glRenderbufferStorage(" << getFramebufferTargetStr(target) << ", " << getUncompressedTextureFormatStr(internalformat) << ", " << width << ", " << height << ");" << TestLog::EndMessage;
   4740 	m_gl.renderbufferStorage(target, internalformat, width, height);
   4741 }
   4742 
   4743 void CallLogWrapper::glRenderbufferStorageMultisample (glw::GLenum target, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height)
   4744 {
   4745 	if (m_enableLog)
   4746 		m_log << TestLog::Message << "glRenderbufferStorageMultisample(" << getFramebufferTargetStr(target) << ", " << samples << ", " << getUncompressedTextureFormatStr(internalformat) << ", " << width << ", " << height << ");" << TestLog::EndMessage;
   4747 	m_gl.renderbufferStorageMultisample(target, samples, internalformat, width, height);
   4748 }
   4749 
   4750 void CallLogWrapper::glRenderbufferStorageMultisampleEXT (glw::GLenum target, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height)
   4751 {
   4752 	if (m_enableLog)
   4753 		m_log << TestLog::Message << "glRenderbufferStorageMultisampleEXT(" << toHex(target) << ", " << samples << ", " << toHex(internalformat) << ", " << width << ", " << height << ");" << TestLog::EndMessage;
   4754 	m_gl.renderbufferStorageMultisampleEXT(target, samples, internalformat, width, height);
   4755 }
   4756 
   4757 void CallLogWrapper::glResumeTransformFeedback (void)
   4758 {
   4759 	if (m_enableLog)
   4760 		m_log << TestLog::Message << "glResumeTransformFeedback(" << ");" << TestLog::EndMessage;
   4761 	m_gl.resumeTransformFeedback();
   4762 }
   4763 
   4764 void CallLogWrapper::glSampleCoverage (glw::GLfloat value, glw::GLboolean invert)
   4765 {
   4766 	if (m_enableLog)
   4767 		m_log << TestLog::Message << "glSampleCoverage(" << value << ", " << getBooleanStr(invert) << ");" << TestLog::EndMessage;
   4768 	m_gl.sampleCoverage(value, invert);
   4769 }
   4770 
   4771 void CallLogWrapper::glSampleMaski (glw::GLuint maskNumber, glw::GLbitfield mask)
   4772 {
   4773 	if (m_enableLog)
   4774 		m_log << TestLog::Message << "glSampleMaski(" << maskNumber << ", " << toHex(mask) << ");" << TestLog::EndMessage;
   4775 	m_gl.sampleMaski(maskNumber, mask);
   4776 }
   4777 
   4778 void CallLogWrapper::glSamplerParameterIiv (glw::GLuint sampler, glw::GLenum pname, const glw::GLint *param)
   4779 {
   4780 	if (m_enableLog)
   4781 		m_log << TestLog::Message << "glSamplerParameterIiv(" << sampler << ", " << getTextureParameterStr(pname) << ", " << getPointerStr(param, getTextureParamNumArgs(pname)) << ");" << TestLog::EndMessage;
   4782 	m_gl.samplerParameterIiv(sampler, pname, param);
   4783 }
   4784 
   4785 void CallLogWrapper::glSamplerParameterIuiv (glw::GLuint sampler, glw::GLenum pname, const glw::GLuint *param)
   4786 {
   4787 	if (m_enableLog)
   4788 		m_log << TestLog::Message << "glSamplerParameterIuiv(" << sampler << ", " << getTextureParameterStr(pname) << ", " << getPointerStr(param, getTextureParamNumArgs(pname)) << ");" << TestLog::EndMessage;
   4789 	m_gl.samplerParameterIuiv(sampler, pname, param);
   4790 }
   4791 
   4792 void CallLogWrapper::glSamplerParameterf (glw::GLuint sampler, glw::GLenum pname, glw::GLfloat param)
   4793 {
   4794 	if (m_enableLog)
   4795 		m_log << TestLog::Message << "glSamplerParameterf(" << sampler << ", " << getTextureParameterStr(pname) << ", " << param << ");" << TestLog::EndMessage;
   4796 	m_gl.samplerParameterf(sampler, pname, param);
   4797 }
   4798 
   4799 void CallLogWrapper::glSamplerParameterfv (glw::GLuint sampler, glw::GLenum pname, const glw::GLfloat *param)
   4800 {
   4801 	if (m_enableLog)
   4802 		m_log << TestLog::Message << "glSamplerParameterfv(" << sampler << ", " << getTextureParameterStr(pname) << ", " << getPointerStr(param, getTextureParamNumArgs(pname)) << ");" << TestLog::EndMessage;
   4803 	m_gl.samplerParameterfv(sampler, pname, param);
   4804 }
   4805 
   4806 void CallLogWrapper::glSamplerParameteri (glw::GLuint sampler, glw::GLenum pname, glw::GLint param)
   4807 {
   4808 	if (m_enableLog)
   4809 		m_log << TestLog::Message << "glSamplerParameteri(" << sampler << ", " << getTextureParameterStr(pname) << ", " << getTextureParameterValueStr(pname, param) << ");" << TestLog::EndMessage;
   4810 	m_gl.samplerParameteri(sampler, pname, param);
   4811 }
   4812 
   4813 void CallLogWrapper::glSamplerParameteriv (glw::GLuint sampler, glw::GLenum pname, const glw::GLint *param)
   4814 {
   4815 	if (m_enableLog)
   4816 		m_log << TestLog::Message << "glSamplerParameteriv(" << sampler << ", " << getTextureParameterStr(pname) << ", " << getPointerStr(param, getTextureParamNumArgs(pname)) << ");" << TestLog::EndMessage;
   4817 	m_gl.samplerParameteriv(sampler, pname, param);
   4818 }
   4819 
   4820 void CallLogWrapper::glScissor (glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height)
   4821 {
   4822 	if (m_enableLog)
   4823 		m_log << TestLog::Message << "glScissor(" << x << ", " << y << ", " << width << ", " << height << ");" << TestLog::EndMessage;
   4824 	m_gl.scissor(x, y, width, height);
   4825 }
   4826 
   4827 void CallLogWrapper::glScissorArrayv (glw::GLuint first, glw::GLsizei count, const glw::GLint *v)
   4828 {
   4829 	if (m_enableLog)
   4830 		m_log << TestLog::Message << "glScissorArrayv(" << first << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(v))) << ");" << TestLog::EndMessage;
   4831 	m_gl.scissorArrayv(first, count, v);
   4832 }
   4833 
   4834 void CallLogWrapper::glScissorIndexed (glw::GLuint index, glw::GLint left, glw::GLint bottom, glw::GLsizei width, glw::GLsizei height)
   4835 {
   4836 	if (m_enableLog)
   4837 		m_log << TestLog::Message << "glScissorIndexed(" << index << ", " << left << ", " << bottom << ", " << width << ", " << height << ");" << TestLog::EndMessage;
   4838 	m_gl.scissorIndexed(index, left, bottom, width, height);
   4839 }
   4840 
   4841 void CallLogWrapper::glScissorIndexedv (glw::GLuint index, const glw::GLint *v)
   4842 {
   4843 	if (m_enableLog)
   4844 		m_log << TestLog::Message << "glScissorIndexedv(" << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(v))) << ");" << TestLog::EndMessage;
   4845 	m_gl.scissorIndexedv(index, v);
   4846 }
   4847 
   4848 void CallLogWrapper::glShaderBinary (glw::GLsizei count, const glw::GLuint *shaders, glw::GLenum binaryformat, const void *binary, glw::GLsizei length)
   4849 {
   4850 	if (m_enableLog)
   4851 		m_log << TestLog::Message << "glShaderBinary(" << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(shaders))) << ", " << toHex(binaryformat) << ", " << binary << ", " << length << ");" << TestLog::EndMessage;
   4852 	m_gl.shaderBinary(count, shaders, binaryformat, binary, length);
   4853 }
   4854 
   4855 void CallLogWrapper::glShaderSource (glw::GLuint shader, glw::GLsizei count, const glw::GLchar *const*string, const glw::GLint *length)
   4856 {
   4857 	if (m_enableLog)
   4858 		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;
   4859 	m_gl.shaderSource(shader, count, string, length);
   4860 }
   4861 
   4862 void CallLogWrapper::glShaderStorageBlockBinding (glw::GLuint program, glw::GLuint storageBlockIndex, glw::GLuint storageBlockBinding)
   4863 {
   4864 	if (m_enableLog)
   4865 		m_log << TestLog::Message << "glShaderStorageBlockBinding(" << program << ", " << storageBlockIndex << ", " << storageBlockBinding << ");" << TestLog::EndMessage;
   4866 	m_gl.shaderStorageBlockBinding(program, storageBlockIndex, storageBlockBinding);
   4867 }
   4868 
   4869 void CallLogWrapper::glSpecializeShader (glw::GLuint shader, const glw::GLchar *pEntryPoint, glw::GLuint numSpecializationConstants, const glw::GLuint *pConstantIndex, const glw::GLuint *pConstantValue)
   4870 {
   4871 	if (m_enableLog)
   4872 		m_log << TestLog::Message << "glSpecializeShader(" << shader << ", " << getStringStr(pEntryPoint) << ", " << numSpecializationConstants << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(pConstantIndex))) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(pConstantValue))) << ");" << TestLog::EndMessage;
   4873 	m_gl.specializeShader(shader, pEntryPoint, numSpecializationConstants, pConstantIndex, pConstantValue);
   4874 }
   4875 
   4876 void CallLogWrapper::glStencilFunc (glw::GLenum func, glw::GLint ref, glw::GLuint mask)
   4877 {
   4878 	if (m_enableLog)
   4879 		m_log << TestLog::Message << "glStencilFunc(" << getCompareFuncStr(func) << ", " << ref << ", " << mask << ");" << TestLog::EndMessage;
   4880 	m_gl.stencilFunc(func, ref, mask);
   4881 }
   4882 
   4883 void CallLogWrapper::glStencilFuncSeparate (glw::GLenum face, glw::GLenum func, glw::GLint ref, glw::GLuint mask)
   4884 {
   4885 	if (m_enableLog)
   4886 		m_log << TestLog::Message << "glStencilFuncSeparate(" << getFaceStr(face) << ", " << getCompareFuncStr(func) << ", " << ref << ", " << mask << ");" << TestLog::EndMessage;
   4887 	m_gl.stencilFuncSeparate(face, func, ref, mask);
   4888 }
   4889 
   4890 void CallLogWrapper::glStencilMask (glw::GLuint mask)
   4891 {
   4892 	if (m_enableLog)
   4893 		m_log << TestLog::Message << "glStencilMask(" << mask << ");" << TestLog::EndMessage;
   4894 	m_gl.stencilMask(mask);
   4895 }
   4896 
   4897 void CallLogWrapper::glStencilMaskSeparate (glw::GLenum face, glw::GLuint mask)
   4898 {
   4899 	if (m_enableLog)
   4900 		m_log << TestLog::Message << "glStencilMaskSeparate(" << getFaceStr(face) << ", " << mask << ");" << TestLog::EndMessage;
   4901 	m_gl.stencilMaskSeparate(face, mask);
   4902 }
   4903 
   4904 void CallLogWrapper::glStencilOp (glw::GLenum fail, glw::GLenum zfail, glw::GLenum zpass)
   4905 {
   4906 	if (m_enableLog)
   4907 		m_log << TestLog::Message << "glStencilOp(" << getStencilOpStr(fail) << ", " << getStencilOpStr(zfail) << ", " << getStencilOpStr(zpass) << ");" << TestLog::EndMessage;
   4908 	m_gl.stencilOp(fail, zfail, zpass);
   4909 }
   4910 
   4911 void CallLogWrapper::glStencilOpSeparate (glw::GLenum face, glw::GLenum sfail, glw::GLenum dpfail, glw::GLenum dppass)
   4912 {
   4913 	if (m_enableLog)
   4914 		m_log << TestLog::Message << "glStencilOpSeparate(" << getFaceStr(face) << ", " << getStencilOpStr(sfail) << ", " << getStencilOpStr(dpfail) << ", " << getStencilOpStr(dppass) << ");" << TestLog::EndMessage;
   4915 	m_gl.stencilOpSeparate(face, sfail, dpfail, dppass);
   4916 }
   4917 
   4918 void CallLogWrapper::glTexBuffer (glw::GLenum target, glw::GLenum internalformat, glw::GLuint buffer)
   4919 {
   4920 	if (m_enableLog)
   4921 		m_log << TestLog::Message << "glTexBuffer(" << getBufferTargetStr(target) << ", " << getUncompressedTextureFormatStr(internalformat) << ", " << buffer << ");" << TestLog::EndMessage;
   4922 	m_gl.texBuffer(target, internalformat, buffer);
   4923 }
   4924 
   4925 void CallLogWrapper::glTexBufferRange (glw::GLenum target, glw::GLenum internalformat, glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size)
   4926 {
   4927 	if (m_enableLog)
   4928 		m_log << TestLog::Message << "glTexBufferRange(" << getBufferTargetStr(target) << ", " << getUncompressedTextureFormatStr(internalformat) << ", " << buffer << ", " << offset << ", " << size << ");" << TestLog::EndMessage;
   4929 	m_gl.texBufferRange(target, internalformat, buffer, offset, size);
   4930 }
   4931 
   4932 void 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)
   4933 {
   4934 	if (m_enableLog)
   4935 		m_log << TestLog::Message << "glTexImage1D(" << getTextureTargetStr(target) << ", " << level << ", " << getUncompressedTextureFormatStr(internalformat) << ", " << width << ", " << border << ", " << getUncompressedTextureFormatStr(format) << ", " << getTypeStr(type) << ", " << pixels << ");" << TestLog::EndMessage;
   4936 	m_gl.texImage1D(target, level, internalformat, width, border, format, type, pixels);
   4937 }
   4938 
   4939 void 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)
   4940 {
   4941 	if (m_enableLog)
   4942 		m_log << TestLog::Message << "glTexImage2D(" << getTextureTargetStr(target) << ", " << level << ", " << getUncompressedTextureFormatStr(internalformat) << ", " << width << ", " << height << ", " << border << ", " << getUncompressedTextureFormatStr(format) << ", " << getTypeStr(type) << ", " << pixels << ");" << TestLog::EndMessage;
   4943 	m_gl.texImage2D(target, level, internalformat, width, height, border, format, type, pixels);
   4944 }
   4945 
   4946 void CallLogWrapper::glTexImage2DMultisample (glw::GLenum target, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLboolean fixedsamplelocations)
   4947 {
   4948 	if (m_enableLog)
   4949 		m_log << TestLog::Message << "glTexImage2DMultisample(" << getTextureTargetStr(target) << ", " << samples << ", " << getUncompressedTextureFormatStr(internalformat) << ", " << width << ", " << height << ", " << getBooleanStr(fixedsamplelocations) << ");" << TestLog::EndMessage;
   4950 	m_gl.texImage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);
   4951 }
   4952 
   4953 void 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)
   4954 {
   4955 	if (m_enableLog)
   4956 		m_log << TestLog::Message << "glTexImage3D(" << getTextureTargetStr(target) << ", " << level << ", " << getUncompressedTextureFormatStr(internalformat) << ", " << width << ", " << height << ", " << depth << ", " << border << ", " << getUncompressedTextureFormatStr(format) << ", " << getTypeStr(type) << ", " << pixels << ");" << TestLog::EndMessage;
   4957 	m_gl.texImage3D(target, level, internalformat, width, height, depth, border, format, type, pixels);
   4958 }
   4959 
   4960 void CallLogWrapper::glTexImage3DMultisample (glw::GLenum target, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLboolean fixedsamplelocations)
   4961 {
   4962 	if (m_enableLog)
   4963 		m_log << TestLog::Message << "glTexImage3DMultisample(" << toHex(target) << ", " << samples << ", " << toHex(internalformat) << ", " << width << ", " << height << ", " << depth << ", " << getBooleanStr(fixedsamplelocations) << ");" << TestLog::EndMessage;
   4964 	m_gl.texImage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);
   4965 }
   4966 
   4967 void CallLogWrapper::glTexImage3DOES (glw::GLenum target, glw::GLint level, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLint border, glw::GLenum format, glw::GLenum type, const void *pixels)
   4968 {
   4969 	if (m_enableLog)
   4970 		m_log << TestLog::Message << "glTexImage3DOES(" << toHex(target) << ", " << level << ", " << toHex(internalformat) << ", " << width << ", " << height << ", " << depth << ", " << border << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
   4971 	m_gl.texImage3DOES(target, level, internalformat, width, height, depth, border, format, type, pixels);
   4972 }
   4973 
   4974 void CallLogWrapper::glTexPageCommitmentARB (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::GLboolean commit)
   4975 {
   4976 	if (m_enableLog)
   4977 		m_log << TestLog::Message << "glTexPageCommitmentARB(" << toHex(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ", " << getBooleanStr(commit) << ");" << TestLog::EndMessage;
   4978 	m_gl.texPageCommitmentARB(target, level, xoffset, yoffset, zoffset, width, height, depth, commit);
   4979 }
   4980 
   4981 void CallLogWrapper::glTexParameterIiv (glw::GLenum target, glw::GLenum pname, const glw::GLint *params)
   4982 {
   4983 	if (m_enableLog)
   4984 		m_log << TestLog::Message << "glTexParameterIiv(" << getTextureTargetStr(target) << ", " << getTextureParameterStr(pname) << ", " << getPointerStr(params, getTextureParamNumArgs(pname)) << ");" << TestLog::EndMessage;
   4985 	m_gl.texParameterIiv(target, pname, params);
   4986 }
   4987 
   4988 void CallLogWrapper::glTexParameterIuiv (glw::GLenum target, glw::GLenum pname, const glw::GLuint *params)
   4989 {
   4990 	if (m_enableLog)
   4991 		m_log << TestLog::Message << "glTexParameterIuiv(" << getTextureTargetStr(target) << ", " << getTextureParameterStr(pname) << ", " << getPointerStr(params, getTextureParamNumArgs(pname)) << ");" << TestLog::EndMessage;
   4992 	m_gl.texParameterIuiv(target, pname, params);
   4993 }
   4994 
   4995 void CallLogWrapper::glTexParameterf (glw::GLenum target, glw::GLenum pname, glw::GLfloat param)
   4996 {
   4997 	if (m_enableLog)
   4998 		m_log << TestLog::Message << "glTexParameterf(" << getTextureTargetStr(target) << ", " << getTextureParameterStr(pname) << ", " << param << ");" << TestLog::EndMessage;
   4999 	m_gl.texParameterf(target, pname, param);
   5000 }
   5001 
   5002 void CallLogWrapper::glTexParameterfv (glw::GLenum target, glw::GLenum pname, const glw::GLfloat *params)
   5003 {
   5004 	if (m_enableLog)
   5005 		m_log << TestLog::Message << "glTexParameterfv(" << getTextureTargetStr(target) << ", " << getTextureParameterStr(pname) << ", " << getPointerStr(params, getTextureParamNumArgs(pname)) << ");" << TestLog::EndMessage;
   5006 	m_gl.texParameterfv(target, pname, params);
   5007 }
   5008 
   5009 void CallLogWrapper::glTexParameteri (glw::GLenum target, glw::GLenum pname, glw::GLint param)
   5010 {
   5011 	if (m_enableLog)
   5012 		m_log << TestLog::Message << "glTexParameteri(" << getTextureTargetStr(target) << ", " << getTextureParameterStr(pname) << ", " << getTextureParameterValueStr(pname, param) << ");" << TestLog::EndMessage;
   5013 	m_gl.texParameteri(target, pname, param);
   5014 }
   5015 
   5016 void CallLogWrapper::glTexParameteriv (glw::GLenum target, glw::GLenum pname, const glw::GLint *params)
   5017 {
   5018 	if (m_enableLog)
   5019 		m_log << TestLog::Message << "glTexParameteriv(" << getTextureTargetStr(target) << ", " << getTextureParameterStr(pname) << ", " << getPointerStr(params, getTextureParamNumArgs(pname)) << ");" << TestLog::EndMessage;
   5020 	m_gl.texParameteriv(target, pname, params);
   5021 }
   5022 
   5023 void CallLogWrapper::glTexStorage1D (glw::GLenum target, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width)
   5024 {
   5025 	if (m_enableLog)
   5026 		m_log << TestLog::Message << "glTexStorage1D(" << toHex(target) << ", " << levels << ", " << toHex(internalformat) << ", " << width << ");" << TestLog::EndMessage;
   5027 	m_gl.texStorage1D(target, levels, internalformat, width);
   5028 }
   5029 
   5030 void CallLogWrapper::glTexStorage2D (glw::GLenum target, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height)
   5031 {
   5032 	if (m_enableLog)
   5033 		m_log << TestLog::Message << "glTexStorage2D(" << getTextureTargetStr(target) << ", " << levels << ", " << getTextureFormatStr(internalformat) << ", " << width << ", " << height << ");" << TestLog::EndMessage;
   5034 	m_gl.texStorage2D(target, levels, internalformat, width, height);
   5035 }
   5036 
   5037 void CallLogWrapper::glTexStorage2DMultisample (glw::GLenum target, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLboolean fixedsamplelocations)
   5038 {
   5039 	if (m_enableLog)
   5040 		m_log << TestLog::Message << "glTexStorage2DMultisample(" << getTextureTargetStr(target) << ", " << samples << ", " << getUncompressedTextureFormatStr(internalformat) << ", " << width << ", " << height << ", " << getBooleanStr(fixedsamplelocations) << ");" << TestLog::EndMessage;
   5041 	m_gl.texStorage2DMultisample(target, samples, internalformat, width, height, fixedsamplelocations);
   5042 }
   5043 
   5044 void CallLogWrapper::glTexStorage3D (glw::GLenum target, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth)
   5045 {
   5046 	if (m_enableLog)
   5047 		m_log << TestLog::Message << "glTexStorage3D(" << getTextureTargetStr(target) << ", " << levels << ", " << getTextureFormatStr(internalformat) << ", " << width << ", " << height << ", " << depth << ");" << TestLog::EndMessage;
   5048 	m_gl.texStorage3D(target, levels, internalformat, width, height, depth);
   5049 }
   5050 
   5051 void CallLogWrapper::glTexStorage3DMultisample (glw::GLenum target, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLboolean fixedsamplelocations)
   5052 {
   5053 	if (m_enableLog)
   5054 		m_log << TestLog::Message << "glTexStorage3DMultisample(" << getTextureTargetStr(target) << ", " << samples << ", " << getUncompressedTextureFormatStr(internalformat) << ", " << width << ", " << height << ", " << depth << ", " << getBooleanStr(fixedsamplelocations) << ");" << TestLog::EndMessage;
   5055 	m_gl.texStorage3DMultisample(target, samples, internalformat, width, height, depth, fixedsamplelocations);
   5056 }
   5057 
   5058 void CallLogWrapper::glTexSubImage1D (glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLsizei width, glw::GLenum format, glw::GLenum type, const void *pixels)
   5059 {
   5060 	if (m_enableLog)
   5061 		m_log << TestLog::Message << "glTexSubImage1D(" << getTextureTargetStr(target) << ", " << level << ", " << xoffset << ", " << width << ", " << getUncompressedTextureFormatStr(format) << ", " << getTypeStr(type) << ", " << pixels << ");" << TestLog::EndMessage;
   5062 	m_gl.texSubImage1D(target, level, xoffset, width, format, type, pixels);
   5063 }
   5064 
   5065 void 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)
   5066 {
   5067 	if (m_enableLog)
   5068 		m_log << TestLog::Message << "glTexSubImage2D(" << getTextureTargetStr(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << width << ", " << height << ", " << getUncompressedTextureFormatStr(format) << ", " << getTypeStr(type) << ", " << pixels << ");" << TestLog::EndMessage;
   5069 	m_gl.texSubImage2D(target, level, xoffset, yoffset, width, height, format, type, pixels);
   5070 }
   5071 
   5072 void 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)
   5073 {
   5074 	if (m_enableLog)
   5075 		m_log << TestLog::Message << "glTexSubImage3D(" << getTextureTargetStr(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ", " << getUncompressedTextureFormatStr(format) << ", " << getTypeStr(type) << ", " << pixels << ");" << TestLog::EndMessage;
   5076 	m_gl.texSubImage3D(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
   5077 }
   5078 
   5079 void CallLogWrapper::glTexSubImage3DOES (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)
   5080 {
   5081 	if (m_enableLog)
   5082 		m_log << TestLog::Message << "glTexSubImage3DOES(" << toHex(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
   5083 	m_gl.texSubImage3DOES(target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
   5084 }
   5085 
   5086 void CallLogWrapper::glTextureBarrier (void)
   5087 {
   5088 	if (m_enableLog)
   5089 		m_log << TestLog::Message << "glTextureBarrier(" << ");" << TestLog::EndMessage;
   5090 	m_gl.textureBarrier();
   5091 }
   5092 
   5093 void CallLogWrapper::glTextureBuffer (glw::GLuint texture, glw::GLenum internalformat, glw::GLuint buffer)
   5094 {
   5095 	if (m_enableLog)
   5096 		m_log << TestLog::Message << "glTextureBuffer(" << texture << ", " << toHex(internalformat) << ", " << buffer << ");" << TestLog::EndMessage;
   5097 	m_gl.textureBuffer(texture, internalformat, buffer);
   5098 }
   5099 
   5100 void CallLogWrapper::glTextureBufferEXT (glw::GLuint texture, glw::GLenum target, glw::GLenum internalformat, glw::GLuint buffer)
   5101 {
   5102 	if (m_enableLog)
   5103 		m_log << TestLog::Message << "glTextureBufferEXT(" << texture << ", " << toHex(target) << ", " << toHex(internalformat) << ", " << buffer << ");" << TestLog::EndMessage;
   5104 	m_gl.textureBufferEXT(texture, target, internalformat, buffer);
   5105 }
   5106 
   5107 void CallLogWrapper::glTextureBufferRange (glw::GLuint texture, glw::GLenum internalformat, glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size)
   5108 {
   5109 	if (m_enableLog)
   5110 		m_log << TestLog::Message << "glTextureBufferRange(" << texture << ", " << toHex(internalformat) << ", " << buffer << ", " << offset << ", " << size << ");" << TestLog::EndMessage;
   5111 	m_gl.textureBufferRange(texture, internalformat, buffer, offset, size);
   5112 }
   5113 
   5114 void CallLogWrapper::glTextureBufferRangeEXT (glw::GLuint texture, glw::GLenum target, glw::GLenum internalformat, glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size)
   5115 {
   5116 	if (m_enableLog)
   5117 		m_log << TestLog::Message << "glTextureBufferRangeEXT(" << texture << ", " << toHex(target) << ", " << toHex(internalformat) << ", " << buffer << ", " << offset << ", " << size << ");" << TestLog::EndMessage;
   5118 	m_gl.textureBufferRangeEXT(texture, target, internalformat, buffer, offset, size);
   5119 }
   5120 
   5121 void CallLogWrapper::glTextureImage1DEXT (glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLint internalformat, glw::GLsizei width, glw::GLint border, glw::GLenum format, glw::GLenum type, const void *pixels)
   5122 {
   5123 	if (m_enableLog)
   5124 		m_log << TestLog::Message << "glTextureImage1DEXT(" << texture << ", " << toHex(target) << ", " << level << ", " << internalformat << ", " << width << ", " << border << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
   5125 	m_gl.textureImage1DEXT(texture, target, level, internalformat, width, border, format, type, pixels);
   5126 }
   5127 
   5128 void CallLogWrapper::glTextureImage2DEXT (glw::GLuint texture, 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)
   5129 {
   5130 	if (m_enableLog)
   5131 		m_log << TestLog::Message << "glTextureImage2DEXT(" << texture << ", " << toHex(target) << ", " << level << ", " << internalformat << ", " << width << ", " << height << ", " << border << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
   5132 	m_gl.textureImage2DEXT(texture, target, level, internalformat, width, height, border, format, type, pixels);
   5133 }
   5134 
   5135 void CallLogWrapper::glTextureImage3DEXT (glw::GLuint texture, 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)
   5136 {
   5137 	if (m_enableLog)
   5138 		m_log << TestLog::Message << "glTextureImage3DEXT(" << texture << ", " << toHex(target) << ", " << level << ", " << internalformat << ", " << width << ", " << height << ", " << depth << ", " << border << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
   5139 	m_gl.textureImage3DEXT(texture, target, level, internalformat, width, height, depth, border, format, type, pixels);
   5140 }
   5141 
   5142 void CallLogWrapper::glTexturePageCommitmentEXT (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::GLboolean commit)
   5143 {
   5144 	if (m_enableLog)
   5145 		m_log << TestLog::Message << "glTexturePageCommitmentEXT(" << texture << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ", " << getBooleanStr(commit) << ");" << TestLog::EndMessage;
   5146 	m_gl.texturePageCommitmentEXT(texture, level, xoffset, yoffset, zoffset, width, height, depth, commit);
   5147 }
   5148 
   5149 void CallLogWrapper::glTextureParameterIiv (glw::GLuint texture, glw::GLenum pname, const glw::GLint *params)
   5150 {
   5151 	if (m_enableLog)
   5152 		m_log << TestLog::Message << "glTextureParameterIiv(" << texture << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   5153 	m_gl.textureParameterIiv(texture, pname, params);
   5154 }
   5155 
   5156 void CallLogWrapper::glTextureParameterIivEXT (glw::GLuint texture, glw::GLenum target, glw::GLenum pname, const glw::GLint *params)
   5157 {
   5158 	if (m_enableLog)
   5159 		m_log << TestLog::Message << "glTextureParameterIivEXT(" << texture << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   5160 	m_gl.textureParameterIivEXT(texture, target, pname, params);
   5161 }
   5162 
   5163 void CallLogWrapper::glTextureParameterIuiv (glw::GLuint texture, glw::GLenum pname, const glw::GLuint *params)
   5164 {
   5165 	if (m_enableLog)
   5166 		m_log << TestLog::Message << "glTextureParameterIuiv(" << texture << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   5167 	m_gl.textureParameterIuiv(texture, pname, params);
   5168 }
   5169 
   5170 void CallLogWrapper::glTextureParameterIuivEXT (glw::GLuint texture, glw::GLenum target, glw::GLenum pname, const glw::GLuint *params)
   5171 {
   5172 	if (m_enableLog)
   5173 		m_log << TestLog::Message << "glTextureParameterIuivEXT(" << texture << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   5174 	m_gl.textureParameterIuivEXT(texture, target, pname, params);
   5175 }
   5176 
   5177 void CallLogWrapper::glTextureParameterf (glw::GLuint texture, glw::GLenum pname, glw::GLfloat param)
   5178 {
   5179 	if (m_enableLog)
   5180 		m_log << TestLog::Message << "glTextureParameterf(" << texture << ", " << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
   5181 	m_gl.textureParameterf(texture, pname, param);
   5182 }
   5183 
   5184 void CallLogWrapper::glTextureParameterfEXT (glw::GLuint texture, glw::GLenum target, glw::GLenum pname, glw::GLfloat param)
   5185 {
   5186 	if (m_enableLog)
   5187 		m_log << TestLog::Message << "glTextureParameterfEXT(" << texture << ", " << toHex(target) << ", " << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
   5188 	m_gl.textureParameterfEXT(texture, target, pname, param);
   5189 }
   5190 
   5191 void CallLogWrapper::glTextureParameterfv (glw::GLuint texture, glw::GLenum pname, const glw::GLfloat *param)
   5192 {
   5193 	if (m_enableLog)
   5194 		m_log << TestLog::Message << "glTextureParameterfv(" << texture << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(param))) << ");" << TestLog::EndMessage;
   5195 	m_gl.textureParameterfv(texture, pname, param);
   5196 }
   5197 
   5198 void CallLogWrapper::glTextureParameterfvEXT (glw::GLuint texture, glw::GLenum target, glw::GLenum pname, const glw::GLfloat *params)
   5199 {
   5200 	if (m_enableLog)
   5201 		m_log << TestLog::Message << "glTextureParameterfvEXT(" << texture << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   5202 	m_gl.textureParameterfvEXT(texture, target, pname, params);
   5203 }
   5204 
   5205 void CallLogWrapper::glTextureParameteri (glw::GLuint texture, glw::GLenum pname, glw::GLint param)
   5206 {
   5207 	if (m_enableLog)
   5208 		m_log << TestLog::Message << "glTextureParameteri(" << texture << ", " << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
   5209 	m_gl.textureParameteri(texture, pname, param);
   5210 }
   5211 
   5212 void CallLogWrapper::glTextureParameteriEXT (glw::GLuint texture, glw::GLenum target, glw::GLenum pname, glw::GLint param)
   5213 {
   5214 	if (m_enableLog)
   5215 		m_log << TestLog::Message << "glTextureParameteriEXT(" << texture << ", " << toHex(target) << ", " << toHex(pname) << ", " << param << ");" << TestLog::EndMessage;
   5216 	m_gl.textureParameteriEXT(texture, target, pname, param);
   5217 }
   5218 
   5219 void CallLogWrapper::glTextureParameteriv (glw::GLuint texture, glw::GLenum pname, const glw::GLint *param)
   5220 {
   5221 	if (m_enableLog)
   5222 		m_log << TestLog::Message << "glTextureParameteriv(" << texture << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(param))) << ");" << TestLog::EndMessage;
   5223 	m_gl.textureParameteriv(texture, pname, param);
   5224 }
   5225 
   5226 void CallLogWrapper::glTextureParameterivEXT (glw::GLuint texture, glw::GLenum target, glw::GLenum pname, const glw::GLint *params)
   5227 {
   5228 	if (m_enableLog)
   5229 		m_log << TestLog::Message << "glTextureParameterivEXT(" << texture << ", " << toHex(target) << ", " << toHex(pname) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(params))) << ");" << TestLog::EndMessage;
   5230 	m_gl.textureParameterivEXT(texture, target, pname, params);
   5231 }
   5232 
   5233 void CallLogWrapper::glTextureRenderbufferEXT (glw::GLuint texture, glw::GLenum target, glw::GLuint renderbuffer)
   5234 {
   5235 	if (m_enableLog)
   5236 		m_log << TestLog::Message << "glTextureRenderbufferEXT(" << texture << ", " << toHex(target) << ", " << renderbuffer << ");" << TestLog::EndMessage;
   5237 	m_gl.textureRenderbufferEXT(texture, target, renderbuffer);
   5238 }
   5239 
   5240 void CallLogWrapper::glTextureStorage1D (glw::GLuint texture, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width)
   5241 {
   5242 	if (m_enableLog)
   5243 		m_log << TestLog::Message << "glTextureStorage1D(" << texture << ", " << levels << ", " << toHex(internalformat) << ", " << width << ");" << TestLog::EndMessage;
   5244 	m_gl.textureStorage1D(texture, levels, internalformat, width);
   5245 }
   5246 
   5247 void CallLogWrapper::glTextureStorage1DEXT (glw::GLuint texture, glw::GLenum target, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width)
   5248 {
   5249 	if (m_enableLog)
   5250 		m_log << TestLog::Message << "glTextureStorage1DEXT(" << texture << ", " << toHex(target) << ", " << levels << ", " << toHex(internalformat) << ", " << width << ");" << TestLog::EndMessage;
   5251 	m_gl.textureStorage1DEXT(texture, target, levels, internalformat, width);
   5252 }
   5253 
   5254 void CallLogWrapper::glTextureStorage2D (glw::GLuint texture, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height)
   5255 {
   5256 	if (m_enableLog)
   5257 		m_log << TestLog::Message << "glTextureStorage2D(" << texture << ", " << levels << ", " << toHex(internalformat) << ", " << width << ", " << height << ");" << TestLog::EndMessage;
   5258 	m_gl.textureStorage2D(texture, levels, internalformat, width, height);
   5259 }
   5260 
   5261 void CallLogWrapper::glTextureStorage2DEXT (glw::GLuint texture, glw::GLenum target, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height)
   5262 {
   5263 	if (m_enableLog)
   5264 		m_log << TestLog::Message << "glTextureStorage2DEXT(" << texture << ", " << toHex(target) << ", " << levels << ", " << toHex(internalformat) << ", " << width << ", " << height << ");" << TestLog::EndMessage;
   5265 	m_gl.textureStorage2DEXT(texture, target, levels, internalformat, width, height);
   5266 }
   5267 
   5268 void CallLogWrapper::glTextureStorage2DMultisample (glw::GLuint texture, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLboolean fixedsamplelocations)
   5269 {
   5270 	if (m_enableLog)
   5271 		m_log << TestLog::Message << "glTextureStorage2DMultisample(" << texture << ", " << samples << ", " << toHex(internalformat) << ", " << width << ", " << height << ", " << getBooleanStr(fixedsamplelocations) << ");" << TestLog::EndMessage;
   5272 	m_gl.textureStorage2DMultisample(texture, samples, internalformat, width, height, fixedsamplelocations);
   5273 }
   5274 
   5275 void CallLogWrapper::glTextureStorage2DMultisampleEXT (glw::GLuint texture, glw::GLenum target, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLboolean fixedsamplelocations)
   5276 {
   5277 	if (m_enableLog)
   5278 		m_log << TestLog::Message << "glTextureStorage2DMultisampleEXT(" << texture << ", " << toHex(target) << ", " << samples << ", " << toHex(internalformat) << ", " << width << ", " << height << ", " << getBooleanStr(fixedsamplelocations) << ");" << TestLog::EndMessage;
   5279 	m_gl.textureStorage2DMultisampleEXT(texture, target, samples, internalformat, width, height, fixedsamplelocations);
   5280 }
   5281 
   5282 void CallLogWrapper::glTextureStorage3D (glw::GLuint texture, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth)
   5283 {
   5284 	if (m_enableLog)
   5285 		m_log << TestLog::Message << "glTextureStorage3D(" << texture << ", " << levels << ", " << toHex(internalformat) << ", " << width << ", " << height << ", " << depth << ");" << TestLog::EndMessage;
   5286 	m_gl.textureStorage3D(texture, levels, internalformat, width, height, depth);
   5287 }
   5288 
   5289 void CallLogWrapper::glTextureStorage3DEXT (glw::GLuint texture, glw::GLenum target, glw::GLsizei levels, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth)
   5290 {
   5291 	if (m_enableLog)
   5292 		m_log << TestLog::Message << "glTextureStorage3DEXT(" << texture << ", " << toHex(target) << ", " << levels << ", " << toHex(internalformat) << ", " << width << ", " << height << ", " << depth << ");" << TestLog::EndMessage;
   5293 	m_gl.textureStorage3DEXT(texture, target, levels, internalformat, width, height, depth);
   5294 }
   5295 
   5296 void CallLogWrapper::glTextureStorage3DMultisample (glw::GLuint texture, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLboolean fixedsamplelocations)
   5297 {
   5298 	if (m_enableLog)
   5299 		m_log << TestLog::Message << "glTextureStorage3DMultisample(" << texture << ", " << samples << ", " << toHex(internalformat) << ", " << width << ", " << height << ", " << depth << ", " << getBooleanStr(fixedsamplelocations) << ");" << TestLog::EndMessage;
   5300 	m_gl.textureStorage3DMultisample(texture, samples, internalformat, width, height, depth, fixedsamplelocations);
   5301 }
   5302 
   5303 void CallLogWrapper::glTextureStorage3DMultisampleEXT (glw::GLuint texture, glw::GLenum target, glw::GLsizei samples, glw::GLenum internalformat, glw::GLsizei width, glw::GLsizei height, glw::GLsizei depth, glw::GLboolean fixedsamplelocations)
   5304 {
   5305 	if (m_enableLog)
   5306 		m_log << TestLog::Message << "glTextureStorage3DMultisampleEXT(" << texture << ", " << toHex(target) << ", " << samples << ", " << toHex(internalformat) << ", " << width << ", " << height << ", " << depth << ", " << getBooleanStr(fixedsamplelocations) << ");" << TestLog::EndMessage;
   5307 	m_gl.textureStorage3DMultisampleEXT(texture, target, samples, internalformat, width, height, depth, fixedsamplelocations);
   5308 }
   5309 
   5310 void CallLogWrapper::glTextureSubImage1D (glw::GLuint texture, glw::GLint level, glw::GLint xoffset, glw::GLsizei width, glw::GLenum format, glw::GLenum type, const void *pixels)
   5311 {
   5312 	if (m_enableLog)
   5313 		m_log << TestLog::Message << "glTextureSubImage1D(" << texture << ", " << level << ", " << xoffset << ", " << width << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
   5314 	m_gl.textureSubImage1D(texture, level, xoffset, width, format, type, pixels);
   5315 }
   5316 
   5317 void CallLogWrapper::glTextureSubImage1DEXT (glw::GLuint texture, glw::GLenum target, glw::GLint level, glw::GLint xoffset, glw::GLsizei width, glw::GLenum format, glw::GLenum type, const void *pixels)
   5318 {
   5319 	if (m_enableLog)
   5320 		m_log << TestLog::Message << "glTextureSubImage1DEXT(" << texture << ", " << toHex(target) << ", " << level << ", " << xoffset << ", " << width << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
   5321 	m_gl.textureSubImage1DEXT(texture, target, level, xoffset, width, format, type, pixels);
   5322 }
   5323 
   5324 void 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)
   5325 {
   5326 	if (m_enableLog)
   5327 		m_log << TestLog::Message << "glTextureSubImage2D(" << texture << ", " << level << ", " << xoffset << ", " << yoffset << ", " << width << ", " << height << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
   5328 	m_gl.textureSubImage2D(texture, level, xoffset, yoffset, width, height, format, type, pixels);
   5329 }
   5330 
   5331 void CallLogWrapper::glTextureSubImage2DEXT (glw::GLuint texture, 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)
   5332 {
   5333 	if (m_enableLog)
   5334 		m_log << TestLog::Message << "glTextureSubImage2DEXT(" << texture << ", " << toHex(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << width << ", " << height << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
   5335 	m_gl.textureSubImage2DEXT(texture, target, level, xoffset, yoffset, width, height, format, type, pixels);
   5336 }
   5337 
   5338 void 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)
   5339 {
   5340 	if (m_enableLog)
   5341 		m_log << TestLog::Message << "glTextureSubImage3D(" << texture << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
   5342 	m_gl.textureSubImage3D(texture, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
   5343 }
   5344 
   5345 void CallLogWrapper::glTextureSubImage3DEXT (glw::GLuint texture, 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)
   5346 {
   5347 	if (m_enableLog)
   5348 		m_log << TestLog::Message << "glTextureSubImage3DEXT(" << texture << ", " << toHex(target) << ", " << level << ", " << xoffset << ", " << yoffset << ", " << zoffset << ", " << width << ", " << height << ", " << depth << ", " << toHex(format) << ", " << toHex(type) << ", " << pixels << ");" << TestLog::EndMessage;
   5349 	m_gl.textureSubImage3DEXT(texture, target, level, xoffset, yoffset, zoffset, width, height, depth, format, type, pixels);
   5350 }
   5351 
   5352 void 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)
   5353 {
   5354 	if (m_enableLog)
   5355 		m_log << TestLog::Message << "glTextureView(" << texture << ", " << toHex(target) << ", " << origtexture << ", " << toHex(internalformat) << ", " << minlevel << ", " << numlevels << ", " << minlayer << ", " << numlayers << ");" << TestLog::EndMessage;
   5356 	m_gl.textureView(texture, target, origtexture, internalformat, minlevel, numlevels, minlayer, numlayers);
   5357 }
   5358 
   5359 void CallLogWrapper::glTransformFeedbackBufferBase (glw::GLuint xfb, glw::GLuint index, glw::GLuint buffer)
   5360 {
   5361 	if (m_enableLog)
   5362 		m_log << TestLog::Message << "glTransformFeedbackBufferBase(" << xfb << ", " << index << ", " << buffer << ");" << TestLog::EndMessage;
   5363 	m_gl.transformFeedbackBufferBase(xfb, index, buffer);
   5364 }
   5365 
   5366 void CallLogWrapper::glTransformFeedbackBufferRange (glw::GLuint xfb, glw::GLuint index, glw::GLuint buffer, glw::GLintptr offset, glw::GLsizeiptr size)
   5367 {
   5368 	if (m_enableLog)
   5369 		m_log << TestLog::Message << "glTransformFeedbackBufferRange(" << xfb << ", " << index << ", " << buffer << ", " << offset << ", " << size << ");" << TestLog::EndMessage;
   5370 	m_gl.transformFeedbackBufferRange(xfb, index, buffer, offset, size);
   5371 }
   5372 
   5373 void CallLogWrapper::glTransformFeedbackVaryings (glw::GLuint program, glw::GLsizei count, const glw::GLchar *const*varyings, glw::GLenum bufferMode)
   5374 {
   5375 	if (m_enableLog)
   5376 		m_log << TestLog::Message << "glTransformFeedbackVaryings(" << program << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(varyings))) << ", " << toHex(bufferMode) << ");" << TestLog::EndMessage;
   5377 	m_gl.transformFeedbackVaryings(program, count, varyings, bufferMode);
   5378 }
   5379 
   5380 void CallLogWrapper::glUniform1d (glw::GLint location, glw::GLdouble x)
   5381 {
   5382 	if (m_enableLog)
   5383 		m_log << TestLog::Message << "glUniform1d(" << location << ", " << x << ");" << TestLog::EndMessage;
   5384 	m_gl.uniform1d(location, x);
   5385 }
   5386 
   5387 void CallLogWrapper::glUniform1dv (glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
   5388 {
   5389 	if (m_enableLog)
   5390 		m_log << TestLog::Message << "glUniform1dv(" << location << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   5391 	m_gl.uniform1dv(location, count, value);
   5392 }
   5393 
   5394 void CallLogWrapper::glUniform1f (glw::GLint location, glw::GLfloat v0)
   5395 {
   5396 	if (m_enableLog)
   5397 		m_log << TestLog::Message << "glUniform1f(" << location << ", " << v0 << ");" << TestLog::EndMessage;
   5398 	m_gl.uniform1f(location, v0);
   5399 }
   5400 
   5401 void CallLogWrapper::glUniform1fv (glw::GLint location, glw::GLsizei count, const glw::GLfloat *value)
   5402 {
   5403 	if (m_enableLog)
   5404 		m_log << TestLog::Message << "glUniform1fv(" << location << ", " << count << ", " << getPointerStr(value, (count * 1)) << ");" << TestLog::EndMessage;
   5405 	m_gl.uniform1fv(location, count, value);
   5406 }
   5407 
   5408 void CallLogWrapper::glUniform1i (glw::GLint location, glw::GLint v0)
   5409 {
   5410 	if (m_enableLog)
   5411 		m_log << TestLog::Message << "glUniform1i(" << location << ", " << v0 << ");" << TestLog::EndMessage;
   5412 	m_gl.uniform1i(location, v0);
   5413 }
   5414 
   5415 void CallLogWrapper::glUniform1iv (glw::GLint location, glw::GLsizei count, const glw::GLint *value)
   5416 {
   5417 	if (m_enableLog)
   5418 		m_log << TestLog::Message << "glUniform1iv(" << location << ", " << count << ", " << getPointerStr(value, (count * 1)) << ");" << TestLog::EndMessage;
   5419 	m_gl.uniform1iv(location, count, value);
   5420 }
   5421 
   5422 void CallLogWrapper::glUniform1ui (glw::GLint location, glw::GLuint v0)
   5423 {
   5424 	if (m_enableLog)
   5425 		m_log << TestLog::Message << "glUniform1ui(" << location << ", " << v0 << ");" << TestLog::EndMessage;
   5426 	m_gl.uniform1ui(location, v0);
   5427 }
   5428 
   5429 void CallLogWrapper::glUniform1uiv (glw::GLint location, glw::GLsizei count, const glw::GLuint *value)
   5430 {
   5431 	if (m_enableLog)
   5432 		m_log << TestLog::Message << "glUniform1uiv(" << location << ", " << count << ", " << getPointerStr(value, (count * 1)) << ");" << TestLog::EndMessage;
   5433 	m_gl.uniform1uiv(location, count, value);
   5434 }
   5435 
   5436 void CallLogWrapper::glUniform2d (glw::GLint location, glw::GLdouble x, glw::GLdouble y)
   5437 {
   5438 	if (m_enableLog)
   5439 		m_log << TestLog::Message << "glUniform2d(" << location << ", " << x << ", " << y << ");" << TestLog::EndMessage;
   5440 	m_gl.uniform2d(location, x, y);
   5441 }
   5442 
   5443 void CallLogWrapper::glUniform2dv (glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
   5444 {
   5445 	if (m_enableLog)
   5446 		m_log << TestLog::Message << "glUniform2dv(" << location << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   5447 	m_gl.uniform2dv(location, count, value);
   5448 }
   5449 
   5450 void CallLogWrapper::glUniform2f (glw::GLint location, glw::GLfloat v0, glw::GLfloat v1)
   5451 {
   5452 	if (m_enableLog)
   5453 		m_log << TestLog::Message << "glUniform2f(" << location << ", " << v0 << ", " << v1 << ");" << TestLog::EndMessage;
   5454 	m_gl.uniform2f(location, v0, v1);
   5455 }
   5456 
   5457 void CallLogWrapper::glUniform2fv (glw::GLint location, glw::GLsizei count, const glw::GLfloat *value)
   5458 {
   5459 	if (m_enableLog)
   5460 		m_log << TestLog::Message << "glUniform2fv(" << location << ", " << count << ", " << getPointerStr(value, (count * 2)) << ");" << TestLog::EndMessage;
   5461 	m_gl.uniform2fv(location, count, value);
   5462 }
   5463 
   5464 void CallLogWrapper::glUniform2i (glw::GLint location, glw::GLint v0, glw::GLint v1)
   5465 {
   5466 	if (m_enableLog)
   5467 		m_log << TestLog::Message << "glUniform2i(" << location << ", " << v0 << ", " << v1 << ");" << TestLog::EndMessage;
   5468 	m_gl.uniform2i(location, v0, v1);
   5469 }
   5470 
   5471 void CallLogWrapper::glUniform2iv (glw::GLint location, glw::GLsizei count, const glw::GLint *value)
   5472 {
   5473 	if (m_enableLog)
   5474 		m_log << TestLog::Message << "glUniform2iv(" << location << ", " << count << ", " << getPointerStr(value, (count * 2)) << ");" << TestLog::EndMessage;
   5475 	m_gl.uniform2iv(location, count, value);
   5476 }
   5477 
   5478 void CallLogWrapper::glUniform2ui (glw::GLint location, glw::GLuint v0, glw::GLuint v1)
   5479 {
   5480 	if (m_enableLog)
   5481 		m_log << TestLog::Message << "glUniform2ui(" << location << ", " << v0 << ", " << v1 << ");" << TestLog::EndMessage;
   5482 	m_gl.uniform2ui(location, v0, v1);
   5483 }
   5484 
   5485 void CallLogWrapper::glUniform2uiv (glw::GLint location, glw::GLsizei count, const glw::GLuint *value)
   5486 {
   5487 	if (m_enableLog)
   5488 		m_log << TestLog::Message << "glUniform2uiv(" << location << ", " << count << ", " << getPointerStr(value, (count * 2)) << ");" << TestLog::EndMessage;
   5489 	m_gl.uniform2uiv(location, count, value);
   5490 }
   5491 
   5492 void CallLogWrapper::glUniform3d (glw::GLint location, glw::GLdouble x, glw::GLdouble y, glw::GLdouble z)
   5493 {
   5494 	if (m_enableLog)
   5495 		m_log << TestLog::Message << "glUniform3d(" << location << ", " << x << ", " << y << ", " << z << ");" << TestLog::EndMessage;
   5496 	m_gl.uniform3d(location, x, y, z);
   5497 }
   5498 
   5499 void CallLogWrapper::glUniform3dv (glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
   5500 {
   5501 	if (m_enableLog)
   5502 		m_log << TestLog::Message << "glUniform3dv(" << location << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   5503 	m_gl.uniform3dv(location, count, value);
   5504 }
   5505 
   5506 void CallLogWrapper::glUniform3f (glw::GLint location, glw::GLfloat v0, glw::GLfloat v1, glw::GLfloat v2)
   5507 {
   5508 	if (m_enableLog)
   5509 		m_log << TestLog::Message << "glUniform3f(" << location << ", " << v0 << ", " << v1 << ", " << v2 << ");" << TestLog::EndMessage;
   5510 	m_gl.uniform3f(location, v0, v1, v2);
   5511 }
   5512 
   5513 void CallLogWrapper::glUniform3fv (glw::GLint location, glw::GLsizei count, const glw::GLfloat *value)
   5514 {
   5515 	if (m_enableLog)
   5516 		m_log << TestLog::Message << "glUniform3fv(" << location << ", " << count << ", " << getPointerStr(value, (count * 3)) << ");" << TestLog::EndMessage;
   5517 	m_gl.uniform3fv(location, count, value);
   5518 }
   5519 
   5520 void CallLogWrapper::glUniform3i (glw::GLint location, glw::GLint v0, glw::GLint v1, glw::GLint v2)
   5521 {
   5522 	if (m_enableLog)
   5523 		m_log << TestLog::Message << "glUniform3i(" << location << ", " << v0 << ", " << v1 << ", " << v2 << ");" << TestLog::EndMessage;
   5524 	m_gl.uniform3i(location, v0, v1, v2);
   5525 }
   5526 
   5527 void CallLogWrapper::glUniform3iv (glw::GLint location, glw::GLsizei count, const glw::GLint *value)
   5528 {
   5529 	if (m_enableLog)
   5530 		m_log << TestLog::Message << "glUniform3iv(" << location << ", " << count << ", " << getPointerStr(value, (count * 3)) << ");" << TestLog::EndMessage;
   5531 	m_gl.uniform3iv(location, count, value);
   5532 }
   5533 
   5534 void CallLogWrapper::glUniform3ui (glw::GLint location, glw::GLuint v0, glw::GLuint v1, glw::GLuint v2)
   5535 {
   5536 	if (m_enableLog)
   5537 		m_log << TestLog::Message << "glUniform3ui(" << location << ", " << v0 << ", " << v1 << ", " << v2 << ");" << TestLog::EndMessage;
   5538 	m_gl.uniform3ui(location, v0, v1, v2);
   5539 }
   5540 
   5541 void CallLogWrapper::glUniform3uiv (glw::GLint location, glw::GLsizei count, const glw::GLuint *value)
   5542 {
   5543 	if (m_enableLog)
   5544 		m_log << TestLog::Message << "glUniform3uiv(" << location << ", " << count << ", " << getPointerStr(value, (count * 3)) << ");" << TestLog::EndMessage;
   5545 	m_gl.uniform3uiv(location, count, value);
   5546 }
   5547 
   5548 void CallLogWrapper::glUniform4d (glw::GLint location, glw::GLdouble x, glw::GLdouble y, glw::GLdouble z, glw::GLdouble w)
   5549 {
   5550 	if (m_enableLog)
   5551 		m_log << TestLog::Message << "glUniform4d(" << location << ", " << x << ", " << y << ", " << z << ", " << w << ");" << TestLog::EndMessage;
   5552 	m_gl.uniform4d(location, x, y, z, w);
   5553 }
   5554 
   5555 void CallLogWrapper::glUniform4dv (glw::GLint location, glw::GLsizei count, const glw::GLdouble *value)
   5556 {
   5557 	if (m_enableLog)
   5558 		m_log << TestLog::Message << "glUniform4dv(" << location << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   5559 	m_gl.uniform4dv(location, count, value);
   5560 }
   5561 
   5562 void CallLogWrapper::glUniform4f (glw::GLint location, glw::GLfloat v0, glw::GLfloat v1, glw::GLfloat v2, glw::GLfloat v3)
   5563 {
   5564 	if (m_enableLog)
   5565 		m_log << TestLog::Message << "glUniform4f(" << location << ", " << v0 << ", " << v1 << ", " << v2 << ", " << v3 << ");" << TestLog::EndMessage;
   5566 	m_gl.uniform4f(location, v0, v1, v2, v3);
   5567 }
   5568 
   5569 void CallLogWrapper::glUniform4fv (glw::GLint location, glw::GLsizei count, const glw::GLfloat *value)
   5570 {
   5571 	if (m_enableLog)
   5572 		m_log << TestLog::Message << "glUniform4fv(" << location << ", " << count << ", " << getPointerStr(value, (count * 4)) << ");" << TestLog::EndMessage;
   5573 	m_gl.uniform4fv(location, count, value);
   5574 }
   5575 
   5576 void CallLogWrapper::glUniform4i (glw::GLint location, glw::GLint v0, glw::GLint v1, glw::GLint v2, glw::GLint v3)
   5577 {
   5578 	if (m_enableLog)
   5579 		m_log << TestLog::Message << "glUniform4i(" << location << ", " << v0 << ", " << v1 << ", " << v2 << ", " << v3 << ");" << TestLog::EndMessage;
   5580 	m_gl.uniform4i(location, v0, v1, v2, v3);
   5581 }
   5582 
   5583 void CallLogWrapper::glUniform4iv (glw::GLint location, glw::GLsizei count, const glw::GLint *value)
   5584 {
   5585 	if (m_enableLog)
   5586 		m_log << TestLog::Message << "glUniform4iv(" << location << ", " << count << ", " << getPointerStr(value, (count * 4)) << ");" << TestLog::EndMessage;
   5587 	m_gl.uniform4iv(location, count, value);
   5588 }
   5589 
   5590 void CallLogWrapper::glUniform4ui (glw::GLint location, glw::GLuint v0, glw::GLuint v1, glw::GLuint v2, glw::GLuint v3)
   5591 {
   5592 	if (m_enableLog)
   5593 		m_log << TestLog::Message << "glUniform4ui(" << location << ", " << v0 << ", " << v1 << ", " << v2 << ", " << v3 << ");" << TestLog::EndMessage;
   5594 	m_gl.uniform4ui(location, v0, v1, v2, v3);
   5595 }
   5596 
   5597 void CallLogWrapper::glUniform4uiv (glw::GLint location, glw::GLsizei count, const glw::GLuint *value)
   5598 {
   5599 	if (m_enableLog)
   5600 		m_log << TestLog::Message << "glUniform4uiv(" << location << ", " << count << ", " << getPointerStr(value, (count * 4)) << ");" << TestLog::EndMessage;
   5601 	m_gl.uniform4uiv(location, count, value);
   5602 }
   5603 
   5604 void CallLogWrapper::glUniformBlockBinding (glw::GLuint program, glw::GLuint uniformBlockIndex, glw::GLuint uniformBlockBinding)
   5605 {
   5606 	if (m_enableLog)
   5607 		m_log << TestLog::Message << "glUniformBlockBinding(" << program << ", " << uniformBlockIndex << ", " << uniformBlockBinding << ");" << TestLog::EndMessage;
   5608 	m_gl.uniformBlockBinding(program, uniformBlockIndex, uniformBlockBinding);
   5609 }
   5610 
   5611 void CallLogWrapper::glUniformMatrix2dv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   5612 {
   5613 	if (m_enableLog)
   5614 		m_log << TestLog::Message << "glUniformMatrix2dv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   5615 	m_gl.uniformMatrix2dv(location, count, transpose, value);
   5616 }
   5617 
   5618 void CallLogWrapper::glUniformMatrix2fv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
   5619 {
   5620 	if (m_enableLog)
   5621 		m_log << TestLog::Message << "glUniformMatrix2fv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 2*2)) << ");" << TestLog::EndMessage;
   5622 	m_gl.uniformMatrix2fv(location, count, transpose, value);
   5623 }
   5624 
   5625 void CallLogWrapper::glUniformMatrix2x3dv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   5626 {
   5627 	if (m_enableLog)
   5628 		m_log << TestLog::Message << "glUniformMatrix2x3dv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   5629 	m_gl.uniformMatrix2x3dv(location, count, transpose, value);
   5630 }
   5631 
   5632 void CallLogWrapper::glUniformMatrix2x3fv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
   5633 {
   5634 	if (m_enableLog)
   5635 		m_log << TestLog::Message << "glUniformMatrix2x3fv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 2*3)) << ");" << TestLog::EndMessage;
   5636 	m_gl.uniformMatrix2x3fv(location, count, transpose, value);
   5637 }
   5638 
   5639 void CallLogWrapper::glUniformMatrix2x4dv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   5640 {
   5641 	if (m_enableLog)
   5642 		m_log << TestLog::Message << "glUniformMatrix2x4dv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   5643 	m_gl.uniformMatrix2x4dv(location, count, transpose, value);
   5644 }
   5645 
   5646 void CallLogWrapper::glUniformMatrix2x4fv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
   5647 {
   5648 	if (m_enableLog)
   5649 		m_log << TestLog::Message << "glUniformMatrix2x4fv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 2*4)) << ");" << TestLog::EndMessage;
   5650 	m_gl.uniformMatrix2x4fv(location, count, transpose, value);
   5651 }
   5652 
   5653 void CallLogWrapper::glUniformMatrix3dv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   5654 {
   5655 	if (m_enableLog)
   5656 		m_log << TestLog::Message << "glUniformMatrix3dv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   5657 	m_gl.uniformMatrix3dv(location, count, transpose, value);
   5658 }
   5659 
   5660 void CallLogWrapper::glUniformMatrix3fv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
   5661 {
   5662 	if (m_enableLog)
   5663 		m_log << TestLog::Message << "glUniformMatrix3fv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 3*3)) << ");" << TestLog::EndMessage;
   5664 	m_gl.uniformMatrix3fv(location, count, transpose, value);
   5665 }
   5666 
   5667 void CallLogWrapper::glUniformMatrix3x2dv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   5668 {
   5669 	if (m_enableLog)
   5670 		m_log << TestLog::Message << "glUniformMatrix3x2dv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   5671 	m_gl.uniformMatrix3x2dv(location, count, transpose, value);
   5672 }
   5673 
   5674 void CallLogWrapper::glUniformMatrix3x2fv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
   5675 {
   5676 	if (m_enableLog)
   5677 		m_log << TestLog::Message << "glUniformMatrix3x2fv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 3*2)) << ");" << TestLog::EndMessage;
   5678 	m_gl.uniformMatrix3x2fv(location, count, transpose, value);
   5679 }
   5680 
   5681 void CallLogWrapper::glUniformMatrix3x4dv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   5682 {
   5683 	if (m_enableLog)
   5684 		m_log << TestLog::Message << "glUniformMatrix3x4dv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   5685 	m_gl.uniformMatrix3x4dv(location, count, transpose, value);
   5686 }
   5687 
   5688 void CallLogWrapper::glUniformMatrix3x4fv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
   5689 {
   5690 	if (m_enableLog)
   5691 		m_log << TestLog::Message << "glUniformMatrix3x4fv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 3*4)) << ");" << TestLog::EndMessage;
   5692 	m_gl.uniformMatrix3x4fv(location, count, transpose, value);
   5693 }
   5694 
   5695 void CallLogWrapper::glUniformMatrix4dv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   5696 {
   5697 	if (m_enableLog)
   5698 		m_log << TestLog::Message << "glUniformMatrix4dv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   5699 	m_gl.uniformMatrix4dv(location, count, transpose, value);
   5700 }
   5701 
   5702 void CallLogWrapper::glUniformMatrix4fv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
   5703 {
   5704 	if (m_enableLog)
   5705 		m_log << TestLog::Message << "glUniformMatrix4fv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 4*4)) << ");" << TestLog::EndMessage;
   5706 	m_gl.uniformMatrix4fv(location, count, transpose, value);
   5707 }
   5708 
   5709 void CallLogWrapper::glUniformMatrix4x2dv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   5710 {
   5711 	if (m_enableLog)
   5712 		m_log << TestLog::Message << "glUniformMatrix4x2dv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   5713 	m_gl.uniformMatrix4x2dv(location, count, transpose, value);
   5714 }
   5715 
   5716 void CallLogWrapper::glUniformMatrix4x2fv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
   5717 {
   5718 	if (m_enableLog)
   5719 		m_log << TestLog::Message << "glUniformMatrix4x2fv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 4*2)) << ");" << TestLog::EndMessage;
   5720 	m_gl.uniformMatrix4x2fv(location, count, transpose, value);
   5721 }
   5722 
   5723 void CallLogWrapper::glUniformMatrix4x3dv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLdouble *value)
   5724 {
   5725 	if (m_enableLog)
   5726 		m_log << TestLog::Message << "glUniformMatrix4x3dv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   5727 	m_gl.uniformMatrix4x3dv(location, count, transpose, value);
   5728 }
   5729 
   5730 void CallLogWrapper::glUniformMatrix4x3fv (glw::GLint location, glw::GLsizei count, glw::GLboolean transpose, const glw::GLfloat *value)
   5731 {
   5732 	if (m_enableLog)
   5733 		m_log << TestLog::Message << "glUniformMatrix4x3fv(" << location << ", " << count << ", " << getBooleanStr(transpose) << ", " << getPointerStr(value, (count * 4*3)) << ");" << TestLog::EndMessage;
   5734 	m_gl.uniformMatrix4x3fv(location, count, transpose, value);
   5735 }
   5736 
   5737 void CallLogWrapper::glUniformSubroutinesuiv (glw::GLenum shadertype, glw::GLsizei count, const glw::GLuint *indices)
   5738 {
   5739 	if (m_enableLog)
   5740 		m_log << TestLog::Message << "glUniformSubroutinesuiv(" << toHex(shadertype) << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(indices))) << ");" << TestLog::EndMessage;
   5741 	m_gl.uniformSubroutinesuiv(shadertype, count, indices);
   5742 }
   5743 
   5744 glw::GLboolean CallLogWrapper::glUnmapBuffer (glw::GLenum target)
   5745 {
   5746 	if (m_enableLog)
   5747 		m_log << TestLog::Message << "glUnmapBuffer(" << getBufferTargetStr(target) << ");" << TestLog::EndMessage;
   5748 	glw::GLboolean returnValue = m_gl.unmapBuffer(target);
   5749 	if (m_enableLog)
   5750 		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
   5751 	return returnValue;
   5752 }
   5753 
   5754 glw::GLboolean CallLogWrapper::glUnmapNamedBuffer (glw::GLuint buffer)
   5755 {
   5756 	if (m_enableLog)
   5757 		m_log << TestLog::Message << "glUnmapNamedBuffer(" << buffer << ");" << TestLog::EndMessage;
   5758 	glw::GLboolean returnValue = m_gl.unmapNamedBuffer(buffer);
   5759 	if (m_enableLog)
   5760 		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
   5761 	return returnValue;
   5762 }
   5763 
   5764 glw::GLboolean CallLogWrapper::glUnmapNamedBufferEXT (glw::GLuint buffer)
   5765 {
   5766 	if (m_enableLog)
   5767 		m_log << TestLog::Message << "glUnmapNamedBufferEXT(" << buffer << ");" << TestLog::EndMessage;
   5768 	glw::GLboolean returnValue = m_gl.unmapNamedBufferEXT(buffer);
   5769 	if (m_enableLog)
   5770 		m_log << TestLog::Message << "// " << getBooleanStr(returnValue) << " returned" << TestLog::EndMessage;
   5771 	return returnValue;
   5772 }
   5773 
   5774 void CallLogWrapper::glUseProgram (glw::GLuint program)
   5775 {
   5776 	if (m_enableLog)
   5777 		m_log << TestLog::Message << "glUseProgram(" << program << ");" << TestLog::EndMessage;
   5778 	m_gl.useProgram(program);
   5779 }
   5780 
   5781 void CallLogWrapper::glUseProgramStages (glw::GLuint pipeline, glw::GLbitfield stages, glw::GLuint program)
   5782 {
   5783 	if (m_enableLog)
   5784 		m_log << TestLog::Message << "glUseProgramStages(" << pipeline << ", " << getShaderTypeMaskStr(stages) << ", " << program << ");" << TestLog::EndMessage;
   5785 	m_gl.useProgramStages(pipeline, stages, program);
   5786 }
   5787 
   5788 void CallLogWrapper::glValidateProgram (glw::GLuint program)
   5789 {
   5790 	if (m_enableLog)
   5791 		m_log << TestLog::Message << "glValidateProgram(" << program << ");" << TestLog::EndMessage;
   5792 	m_gl.validateProgram(program);
   5793 }
   5794 
   5795 void CallLogWrapper::glValidateProgramPipeline (glw::GLuint pipeline)
   5796 {
   5797 	if (m_enableLog)
   5798 		m_log << TestLog::Message << "glValidateProgramPipeline(" << pipeline << ");" << TestLog::EndMessage;
   5799 	m_gl.validateProgramPipeline(pipeline);
   5800 }
   5801 
   5802 void CallLogWrapper::glVertexArrayAttribBinding (glw::GLuint vaobj, glw::GLuint attribindex, glw::GLuint bindingindex)
   5803 {
   5804 	if (m_enableLog)
   5805 		m_log << TestLog::Message << "glVertexArrayAttribBinding(" << vaobj << ", " << attribindex << ", " << bindingindex << ");" << TestLog::EndMessage;
   5806 	m_gl.vertexArrayAttribBinding(vaobj, attribindex, bindingindex);
   5807 }
   5808 
   5809 void CallLogWrapper::glVertexArrayAttribFormat (glw::GLuint vaobj, glw::GLuint attribindex, glw::GLint size, glw::GLenum type, glw::GLboolean normalized, glw::GLuint relativeoffset)
   5810 {
   5811 	if (m_enableLog)
   5812 		m_log << TestLog::Message << "glVertexArrayAttribFormat(" << vaobj << ", " << attribindex << ", " << size << ", " << toHex(type) << ", " << getBooleanStr(normalized) << ", " << relativeoffset << ");" << TestLog::EndMessage;
   5813 	m_gl.vertexArrayAttribFormat(vaobj, attribindex, size, type, normalized, relativeoffset);
   5814 }
   5815 
   5816 void CallLogWrapper::glVertexArrayAttribIFormat (glw::GLuint vaobj, glw::GLuint attribindex, glw::GLint size, glw::GLenum type, glw::GLuint relativeoffset)
   5817 {
   5818 	if (m_enableLog)
   5819 		m_log << TestLog::Message << "glVertexArrayAttribIFormat(" << vaobj << ", " << attribindex << ", " << size << ", " << toHex(type) << ", " << relativeoffset << ");" << TestLog::EndMessage;
   5820 	m_gl.vertexArrayAttribIFormat(vaobj, attribindex, size, type, relativeoffset);
   5821 }
   5822 
   5823 void CallLogWrapper::glVertexArrayAttribLFormat (glw::GLuint vaobj, glw::GLuint attribindex, glw::GLint size, glw::GLenum type, glw::GLuint relativeoffset)
   5824 {
   5825 	if (m_enableLog)
   5826 		m_log << TestLog::Message << "glVertexArrayAttribLFormat(" << vaobj << ", " << attribindex << ", " << size << ", " << toHex(type) << ", " << relativeoffset << ");" << TestLog::EndMessage;
   5827 	m_gl.vertexArrayAttribLFormat(vaobj, attribindex, size, type, relativeoffset);
   5828 }
   5829 
   5830 void CallLogWrapper::glVertexArrayBindVertexBufferEXT (glw::GLuint vaobj, glw::GLuint bindingindex, glw::GLuint buffer, glw::GLintptr offset, glw::GLsizei stride)
   5831 {
   5832 	if (m_enableLog)
   5833 		m_log << TestLog::Message << "glVertexArrayBindVertexBufferEXT(" << vaobj << ", " << bindingindex << ", " << buffer << ", " << offset << ", " << stride << ");" << TestLog::EndMessage;
   5834 	m_gl.vertexArrayBindVertexBufferEXT(vaobj, bindingindex, buffer, offset, stride);
   5835 }
   5836 
   5837 void CallLogWrapper::glVertexArrayBindingDivisor (glw::GLuint vaobj, glw::GLuint bindingindex, glw::GLuint divisor)
   5838 {
   5839 	if (m_enableLog)
   5840 		m_log << TestLog::Message << "glVertexArrayBindingDivisor(" << vaobj << ", " << bindingindex << ", " << divisor << ");" << TestLog::EndMessage;
   5841 	m_gl.vertexArrayBindingDivisor(vaobj, bindingindex, divisor);
   5842 }
   5843 
   5844 void CallLogWrapper::glVertexArrayColorOffsetEXT (glw::GLuint vaobj, glw::GLuint buffer, glw::GLint size, glw::GLenum type, glw::GLsizei stride, glw::GLintptr offset)
   5845 {
   5846 	if (m_enableLog)
   5847 		m_log << TestLog::Message << "glVertexArrayColorOffsetEXT(" << vaobj << ", " << buffer << ", " << size << ", " << toHex(type) << ", " << stride << ", " << offset << ");" << TestLog::EndMessage;
   5848 	m_gl.vertexArrayColorOffsetEXT(vaobj, buffer, size, type, stride, offset);
   5849 }
   5850 
   5851 void CallLogWrapper::glVertexArrayEdgeFlagOffsetEXT (glw::GLuint vaobj, glw::GLuint buffer, glw::GLsizei stride, glw::GLintptr offset)
   5852 {
   5853 	if (m_enableLog)
   5854 		m_log << TestLog::Message << "glVertexArrayEdgeFlagOffsetEXT(" << vaobj << ", " << buffer << ", " << stride << ", " << offset << ");" << TestLog::EndMessage;
   5855 	m_gl.vertexArrayEdgeFlagOffsetEXT(vaobj, buffer, stride, offset);
   5856 }
   5857 
   5858 void CallLogWrapper::glVertexArrayElementBuffer (glw::GLuint vaobj, glw::GLuint buffer)
   5859 {
   5860 	if (m_enableLog)
   5861 		m_log << TestLog::Message << "glVertexArrayElementBuffer(" << vaobj << ", " << buffer << ");" << TestLog::EndMessage;
   5862 	m_gl.vertexArrayElementBuffer(vaobj, buffer);
   5863 }
   5864 
   5865 void CallLogWrapper::glVertexArrayFogCoordOffsetEXT (glw::GLuint vaobj, glw::GLuint buffer, glw::GLenum type, glw::GLsizei stride, glw::GLintptr offset)
   5866 {
   5867 	if (m_enableLog)
   5868 		m_log << TestLog::Message << "glVertexArrayFogCoordOffsetEXT(" << vaobj << ", " << buffer << ", " << toHex(type) << ", " << stride << ", " << offset << ");" << TestLog::EndMessage;
   5869 	m_gl.vertexArrayFogCoordOffsetEXT(vaobj, buffer, type, stride, offset);
   5870 }
   5871 
   5872 void CallLogWrapper::glVertexArrayIndexOffsetEXT (glw::GLuint vaobj, glw::GLuint buffer, glw::GLenum type, glw::GLsizei stride, glw::GLintptr offset)
   5873 {
   5874 	if (m_enableLog)
   5875 		m_log << TestLog::Message << "glVertexArrayIndexOffsetEXT(" << vaobj << ", " << buffer << ", " << toHex(type) << ", " << stride << ", " << offset << ");" << TestLog::EndMessage;
   5876 	m_gl.vertexArrayIndexOffsetEXT(vaobj, buffer, type, stride, offset);
   5877 }
   5878 
   5879 void CallLogWrapper::glVertexArrayMultiTexCoordOffsetEXT (glw::GLuint vaobj, glw::GLuint buffer, glw::GLenum texunit, glw::GLint size, glw::GLenum type, glw::GLsizei stride, glw::GLintptr offset)
   5880 {
   5881 	if (m_enableLog)
   5882 		m_log << TestLog::Message << "glVertexArrayMultiTexCoordOffsetEXT(" << vaobj << ", " << buffer << ", " << toHex(texunit) << ", " << size << ", " << toHex(type) << ", " << stride << ", " << offset << ");" << TestLog::EndMessage;
   5883 	m_gl.vertexArrayMultiTexCoordOffsetEXT(vaobj, buffer, texunit, size, type, stride, offset);
   5884 }
   5885 
   5886 void CallLogWrapper::glVertexArrayNormalOffsetEXT (glw::GLuint vaobj, glw::GLuint buffer, glw::GLenum type, glw::GLsizei stride, glw::GLintptr offset)
   5887 {
   5888 	if (m_enableLog)
   5889 		m_log << TestLog::Message << "glVertexArrayNormalOffsetEXT(" << vaobj << ", " << buffer << ", " << toHex(type) << ", " << stride << ", " << offset << ");" << TestLog::EndMessage;
   5890 	m_gl.vertexArrayNormalOffsetEXT(vaobj, buffer, type, stride, offset);
   5891 }
   5892 
   5893 void CallLogWrapper::glVertexArraySecondaryColorOffsetEXT (glw::GLuint vaobj, glw::GLuint buffer, glw::GLint size, glw::GLenum type, glw::GLsizei stride, glw::GLintptr offset)
   5894 {
   5895 	if (m_enableLog)
   5896 		m_log << TestLog::Message << "glVertexArraySecondaryColorOffsetEXT(" << vaobj << ", " << buffer << ", " << size << ", " << toHex(type) << ", " << stride << ", " << offset << ");" << TestLog::EndMessage;
   5897 	m_gl.vertexArraySecondaryColorOffsetEXT(vaobj, buffer, size, type, stride, offset);
   5898 }
   5899 
   5900 void CallLogWrapper::glVertexArrayTexCoordOffsetEXT (glw::GLuint vaobj, glw::GLuint buffer, glw::GLint size, glw::GLenum type, glw::GLsizei stride, glw::GLintptr offset)
   5901 {
   5902 	if (m_enableLog)
   5903 		m_log << TestLog::Message << "glVertexArrayTexCoordOffsetEXT(" << vaobj << ", " << buffer << ", " << size << ", " << toHex(type) << ", " << stride << ", " << offset << ");" << TestLog::EndMessage;
   5904 	m_gl.vertexArrayTexCoordOffsetEXT(vaobj, buffer, size, type, stride, offset);
   5905 }
   5906 
   5907 void CallLogWrapper::glVertexArrayVertexAttribBindingEXT (glw::GLuint vaobj, glw::GLuint attribindex, glw::GLuint bindingindex)
   5908 {
   5909 	if (m_enableLog)
   5910 		m_log << TestLog::Message << "glVertexArrayVertexAttribBindingEXT(" << vaobj << ", " << attribindex << ", " << bindingindex << ");" << TestLog::EndMessage;
   5911 	m_gl.vertexArrayVertexAttribBindingEXT(vaobj, attribindex, bindingindex);
   5912 }
   5913 
   5914 void CallLogWrapper::glVertexArrayVertexAttribDivisorEXT (glw::GLuint vaobj, glw::GLuint index, glw::GLuint divisor)
   5915 {
   5916 	if (m_enableLog)
   5917 		m_log << TestLog::Message << "glVertexArrayVertexAttribDivisorEXT(" << vaobj << ", " << index << ", " << divisor << ");" << TestLog::EndMessage;
   5918 	m_gl.vertexArrayVertexAttribDivisorEXT(vaobj, index, divisor);
   5919 }
   5920 
   5921 void CallLogWrapper::glVertexArrayVertexAttribFormatEXT (glw::GLuint vaobj, glw::GLuint attribindex, glw::GLint size, glw::GLenum type, glw::GLboolean normalized, glw::GLuint relativeoffset)
   5922 {
   5923 	if (m_enableLog)
   5924 		m_log << TestLog::Message << "glVertexArrayVertexAttribFormatEXT(" << vaobj << ", " << attribindex << ", " << size << ", " << toHex(type) << ", " << getBooleanStr(normalized) << ", " << relativeoffset << ");" << TestLog::EndMessage;
   5925 	m_gl.vertexArrayVertexAttribFormatEXT(vaobj, attribindex, size, type, normalized, relativeoffset);
   5926 }
   5927 
   5928 void CallLogWrapper::glVertexArrayVertexAttribIFormatEXT (glw::GLuint vaobj, glw::GLuint attribindex, glw::GLint size, glw::GLenum type, glw::GLuint relativeoffset)
   5929 {
   5930 	if (m_enableLog)
   5931 		m_log << TestLog::Message << "glVertexArrayVertexAttribIFormatEXT(" << vaobj << ", " << attribindex << ", " << size << ", " << toHex(type) << ", " << relativeoffset << ");" << TestLog::EndMessage;
   5932 	m_gl.vertexArrayVertexAttribIFormatEXT(vaobj, attribindex, size, type, relativeoffset);
   5933 }
   5934 
   5935 void CallLogWrapper::glVertexArrayVertexAttribIOffsetEXT (glw::GLuint vaobj, glw::GLuint buffer, glw::GLuint index, glw::GLint size, glw::GLenum type, glw::GLsizei stride, glw::GLintptr offset)
   5936 {
   5937 	if (m_enableLog)
   5938 		m_log << TestLog::Message << "glVertexArrayVertexAttribIOffsetEXT(" << vaobj << ", " << buffer << ", " << index << ", " << size << ", " << toHex(type) << ", " << stride << ", " << offset << ");" << TestLog::EndMessage;
   5939 	m_gl.vertexArrayVertexAttribIOffsetEXT(vaobj, buffer, index, size, type, stride, offset);
   5940 }
   5941 
   5942 void CallLogWrapper::glVertexArrayVertexAttribLFormatEXT (glw::GLuint vaobj, glw::GLuint attribindex, glw::GLint size, glw::GLenum type, glw::GLuint relativeoffset)
   5943 {
   5944 	if (m_enableLog)
   5945 		m_log << TestLog::Message << "glVertexArrayVertexAttribLFormatEXT(" << vaobj << ", " << attribindex << ", " << size << ", " << toHex(type) << ", " << relativeoffset << ");" << TestLog::EndMessage;
   5946 	m_gl.vertexArrayVertexAttribLFormatEXT(vaobj, attribindex, size, type, relativeoffset);
   5947 }
   5948 
   5949 void CallLogWrapper::glVertexArrayVertexAttribLOffsetEXT (glw::GLuint vaobj, glw::GLuint buffer, glw::GLuint index, glw::GLint size, glw::GLenum type, glw::GLsizei stride, glw::GLintptr offset)
   5950 {
   5951 	if (m_enableLog)
   5952 		m_log << TestLog::Message << "glVertexArrayVertexAttribLOffsetEXT(" << vaobj << ", " << buffer << ", " << index << ", " << size << ", " << toHex(type) << ", " << stride << ", " << offset << ");" << TestLog::EndMessage;
   5953 	m_gl.vertexArrayVertexAttribLOffsetEXT(vaobj, buffer, index, size, type, stride, offset);
   5954 }
   5955 
   5956 void CallLogWrapper::glVertexArrayVertexAttribOffsetEXT (glw::GLuint vaobj, glw::GLuint buffer, glw::GLuint index, glw::GLint size, glw::GLenum type, glw::GLboolean normalized, glw::GLsizei stride, glw::GLintptr offset)
   5957 {
   5958 	if (m_enableLog)
   5959 		m_log << TestLog::Message << "glVertexArrayVertexAttribOffsetEXT(" << vaobj << ", " << buffer << ", " << index << ", " << size << ", " << toHex(type) << ", " << getBooleanStr(normalized) << ", " << stride << ", " << offset << ");" << TestLog::EndMessage;
   5960 	m_gl.vertexArrayVertexAttribOffsetEXT(vaobj, buffer, index, size, type, normalized, stride, offset);
   5961 }
   5962 
   5963 void CallLogWrapper::glVertexArrayVertexBindingDivisorEXT (glw::GLuint vaobj, glw::GLuint bindingindex, glw::GLuint divisor)
   5964 {
   5965 	if (m_enableLog)
   5966 		m_log << TestLog::Message << "glVertexArrayVertexBindingDivisorEXT(" << vaobj << ", " << bindingindex << ", " << divisor << ");" << TestLog::EndMessage;
   5967 	m_gl.vertexArrayVertexBindingDivisorEXT(vaobj, bindingindex, divisor);
   5968 }
   5969 
   5970 void CallLogWrapper::glVertexArrayVertexBuffer (glw::GLuint vaobj, glw::GLuint bindingindex, glw::GLuint buffer, glw::GLintptr offset, glw::GLsizei stride)
   5971 {
   5972 	if (m_enableLog)
   5973 		m_log << TestLog::Message << "glVertexArrayVertexBuffer(" << vaobj << ", " << bindingindex << ", " << buffer << ", " << offset << ", " << stride << ");" << TestLog::EndMessage;
   5974 	m_gl.vertexArrayVertexBuffer(vaobj, bindingindex, buffer, offset, stride);
   5975 }
   5976 
   5977 void CallLogWrapper::glVertexArrayVertexBuffers (glw::GLuint vaobj, glw::GLuint first, glw::GLsizei count, const glw::GLuint *buffers, const glw::GLintptr *offsets, const glw::GLsizei *strides)
   5978 {
   5979 	if (m_enableLog)
   5980 		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;
   5981 	m_gl.vertexArrayVertexBuffers(vaobj, first, count, buffers, offsets, strides);
   5982 }
   5983 
   5984 void CallLogWrapper::glVertexArrayVertexOffsetEXT (glw::GLuint vaobj, glw::GLuint buffer, glw::GLint size, glw::GLenum type, glw::GLsizei stride, glw::GLintptr offset)
   5985 {
   5986 	if (m_enableLog)
   5987 		m_log << TestLog::Message << "glVertexArrayVertexOffsetEXT(" << vaobj << ", " << buffer << ", " << size << ", " << toHex(type) << ", " << stride << ", " << offset << ");" << TestLog::EndMessage;
   5988 	m_gl.vertexArrayVertexOffsetEXT(vaobj, buffer, size, type, stride, offset);
   5989 }
   5990 
   5991 void CallLogWrapper::glVertexAttrib1d (glw::GLuint index, glw::GLdouble x)
   5992 {
   5993 	if (m_enableLog)
   5994 		m_log << TestLog::Message << "glVertexAttrib1d(" << index << ", " << x << ");" << TestLog::EndMessage;
   5995 	m_gl.vertexAttrib1d(index, x);
   5996 }
   5997 
   5998 void CallLogWrapper::glVertexAttrib1dv (glw::GLuint index, const glw::GLdouble *v)
   5999 {
   6000 	if (m_enableLog)
   6001 		m_log << TestLog::Message << "glVertexAttrib1dv(" << index << ", " << getPointerStr(v, 1) << ");" << TestLog::EndMessage;
   6002 	m_gl.vertexAttrib1dv(index, v);
   6003 }
   6004 
   6005 void CallLogWrapper::glVertexAttrib1f (glw::GLuint index, glw::GLfloat x)
   6006 {
   6007 	if (m_enableLog)
   6008 		m_log << TestLog::Message << "glVertexAttrib1f(" << index << ", " << x << ");" << TestLog::EndMessage;
   6009 	m_gl.vertexAttrib1f(index, x);
   6010 }
   6011 
   6012 void CallLogWrapper::glVertexAttrib1fv (glw::GLuint index, const glw::GLfloat *v)
   6013 {
   6014 	if (m_enableLog)
   6015 		m_log << TestLog::Message << "glVertexAttrib1fv(" << index << ", " << getPointerStr(v, 1) << ");" << TestLog::EndMessage;
   6016 	m_gl.vertexAttrib1fv(index, v);
   6017 }
   6018 
   6019 void CallLogWrapper::glVertexAttrib1s (glw::GLuint index, glw::GLshort x)
   6020 {
   6021 	if (m_enableLog)
   6022 		m_log << TestLog::Message << "glVertexAttrib1s(" << index << ", " << x << ");" << TestLog::EndMessage;
   6023 	m_gl.vertexAttrib1s(index, x);
   6024 }
   6025 
   6026 void CallLogWrapper::glVertexAttrib1sv (glw::GLuint index, const glw::GLshort *v)
   6027 {
   6028 	if (m_enableLog)
   6029 		m_log << TestLog::Message << "glVertexAttrib1sv(" << index << ", " << getPointerStr(v, 1) << ");" << TestLog::EndMessage;
   6030 	m_gl.vertexAttrib1sv(index, v);
   6031 }
   6032 
   6033 void CallLogWrapper::glVertexAttrib2d (glw::GLuint index, glw::GLdouble x, glw::GLdouble y)
   6034 {
   6035 	if (m_enableLog)
   6036 		m_log << TestLog::Message << "glVertexAttrib2d(" << index << ", " << x << ", " << y << ");" << TestLog::EndMessage;
   6037 	m_gl.vertexAttrib2d(index, x, y);
   6038 }
   6039 
   6040 void CallLogWrapper::glVertexAttrib2dv (glw::GLuint index, const glw::GLdouble *v)
   6041 {
   6042 	if (m_enableLog)
   6043 		m_log << TestLog::Message << "glVertexAttrib2dv(" << index << ", " << getPointerStr(v, 2) << ");" << TestLog::EndMessage;
   6044 	m_gl.vertexAttrib2dv(index, v);
   6045 }
   6046 
   6047 void CallLogWrapper::glVertexAttrib2f (glw::GLuint index, glw::GLfloat x, glw::GLfloat y)
   6048 {
   6049 	if (m_enableLog)
   6050 		m_log << TestLog::Message << "glVertexAttrib2f(" << index << ", " << x << ", " << y << ");" << TestLog::EndMessage;
   6051 	m_gl.vertexAttrib2f(index, x, y);
   6052 }
   6053 
   6054 void CallLogWrapper::glVertexAttrib2fv (glw::GLuint index, const glw::GLfloat *v)
   6055 {
   6056 	if (m_enableLog)
   6057 		m_log << TestLog::Message << "glVertexAttrib2fv(" << index << ", " << getPointerStr(v, 2) << ");" << TestLog::EndMessage;
   6058 	m_gl.vertexAttrib2fv(index, v);
   6059 }
   6060 
   6061 void CallLogWrapper::glVertexAttrib2s (glw::GLuint index, glw::GLshort x, glw::GLshort y)
   6062 {
   6063 	if (m_enableLog)
   6064 		m_log << TestLog::Message << "glVertexAttrib2s(" << index << ", " << x << ", " << y << ");" << TestLog::EndMessage;
   6065 	m_gl.vertexAttrib2s(index, x, y);
   6066 }
   6067 
   6068 void CallLogWrapper::glVertexAttrib2sv (glw::GLuint index, const glw::GLshort *v)
   6069 {
   6070 	if (m_enableLog)
   6071 		m_log << TestLog::Message << "glVertexAttrib2sv(" << index << ", " << getPointerStr(v, 2) << ");" << TestLog::EndMessage;
   6072 	m_gl.vertexAttrib2sv(index, v);
   6073 }
   6074 
   6075 void CallLogWrapper::glVertexAttrib3d (glw::GLuint index, glw::GLdouble x, glw::GLdouble y, glw::GLdouble z)
   6076 {
   6077 	if (m_enableLog)
   6078 		m_log << TestLog::Message << "glVertexAttrib3d(" << index << ", " << x << ", " << y << ", " << z << ");" << TestLog::EndMessage;
   6079 	m_gl.vertexAttrib3d(index, x, y, z);
   6080 }
   6081 
   6082 void CallLogWrapper::glVertexAttrib3dv (glw::GLuint index, const glw::GLdouble *v)
   6083 {
   6084 	if (m_enableLog)
   6085 		m_log << TestLog::Message << "glVertexAttrib3dv(" << index << ", " << getPointerStr(v, 3) << ");" << TestLog::EndMessage;
   6086 	m_gl.vertexAttrib3dv(index, v);
   6087 }
   6088 
   6089 void CallLogWrapper::glVertexAttrib3f (glw::GLuint index, glw::GLfloat x, glw::GLfloat y, glw::GLfloat z)
   6090 {
   6091 	if (m_enableLog)
   6092 		m_log << TestLog::Message << "glVertexAttrib3f(" << index << ", " << x << ", " << y << ", " << z << ");" << TestLog::EndMessage;
   6093 	m_gl.vertexAttrib3f(index, x, y, z);
   6094 }
   6095 
   6096 void CallLogWrapper::glVertexAttrib3fv (glw::GLuint index, const glw::GLfloat *v)
   6097 {
   6098 	if (m_enableLog)
   6099 		m_log << TestLog::Message << "glVertexAttrib3fv(" << index << ", " << getPointerStr(v, 3) << ");" << TestLog::EndMessage;
   6100 	m_gl.vertexAttrib3fv(index, v);
   6101 }
   6102 
   6103 void CallLogWrapper::glVertexAttrib3s (glw::GLuint index, glw::GLshort x, glw::GLshort y, glw::GLshort z)
   6104 {
   6105 	if (m_enableLog)
   6106 		m_log << TestLog::Message << "glVertexAttrib3s(" << index << ", " << x << ", " << y << ", " << z << ");" << TestLog::EndMessage;
   6107 	m_gl.vertexAttrib3s(index, x, y, z);
   6108 }
   6109 
   6110 void CallLogWrapper::glVertexAttrib3sv (glw::GLuint index, const glw::GLshort *v)
   6111 {
   6112 	if (m_enableLog)
   6113 		m_log << TestLog::Message << "glVertexAttrib3sv(" << index << ", " << getPointerStr(v, 3) << ");" << TestLog::EndMessage;
   6114 	m_gl.vertexAttrib3sv(index, v);
   6115 }
   6116 
   6117 void CallLogWrapper::glVertexAttrib4Nbv (glw::GLuint index, const glw::GLbyte *v)
   6118 {
   6119 	if (m_enableLog)
   6120 		m_log << TestLog::Message << "glVertexAttrib4Nbv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
   6121 	m_gl.vertexAttrib4Nbv(index, v);
   6122 }
   6123 
   6124 void CallLogWrapper::glVertexAttrib4Niv (glw::GLuint index, const glw::GLint *v)
   6125 {
   6126 	if (m_enableLog)
   6127 		m_log << TestLog::Message << "glVertexAttrib4Niv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
   6128 	m_gl.vertexAttrib4Niv(index, v);
   6129 }
   6130 
   6131 void CallLogWrapper::glVertexAttrib4Nsv (glw::GLuint index, const glw::GLshort *v)
   6132 {
   6133 	if (m_enableLog)
   6134 		m_log << TestLog::Message << "glVertexAttrib4Nsv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
   6135 	m_gl.vertexAttrib4Nsv(index, v);
   6136 }
   6137 
   6138 void CallLogWrapper::glVertexAttrib4Nub (glw::GLuint index, glw::GLubyte x, glw::GLubyte y, glw::GLubyte z, glw::GLubyte w)
   6139 {
   6140 	if (m_enableLog)
   6141 		m_log << TestLog::Message << "glVertexAttrib4Nub(" << index << ", " << toHex(x) << ", " << toHex(y) << ", " << toHex(z) << ", " << toHex(w) << ");" << TestLog::EndMessage;
   6142 	m_gl.vertexAttrib4Nub(index, x, y, z, w);
   6143 }
   6144 
   6145 void CallLogWrapper::glVertexAttrib4Nubv (glw::GLuint index, const glw::GLubyte *v)
   6146 {
   6147 	if (m_enableLog)
   6148 		m_log << TestLog::Message << "glVertexAttrib4Nubv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
   6149 	m_gl.vertexAttrib4Nubv(index, v);
   6150 }
   6151 
   6152 void CallLogWrapper::glVertexAttrib4Nuiv (glw::GLuint index, const glw::GLuint *v)
   6153 {
   6154 	if (m_enableLog)
   6155 		m_log << TestLog::Message << "glVertexAttrib4Nuiv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
   6156 	m_gl.vertexAttrib4Nuiv(index, v);
   6157 }
   6158 
   6159 void CallLogWrapper::glVertexAttrib4Nusv (glw::GLuint index, const glw::GLushort *v)
   6160 {
   6161 	if (m_enableLog)
   6162 		m_log << TestLog::Message << "glVertexAttrib4Nusv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
   6163 	m_gl.vertexAttrib4Nusv(index, v);
   6164 }
   6165 
   6166 void CallLogWrapper::glVertexAttrib4bv (glw::GLuint index, const glw::GLbyte *v)
   6167 {
   6168 	if (m_enableLog)
   6169 		m_log << TestLog::Message << "glVertexAttrib4bv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
   6170 	m_gl.vertexAttrib4bv(index, v);
   6171 }
   6172 
   6173 void CallLogWrapper::glVertexAttrib4d (glw::GLuint index, glw::GLdouble x, glw::GLdouble y, glw::GLdouble z, glw::GLdouble w)
   6174 {
   6175 	if (m_enableLog)
   6176 		m_log << TestLog::Message << "glVertexAttrib4d(" << index << ", " << x << ", " << y << ", " << z << ", " << w << ");" << TestLog::EndMessage;
   6177 	m_gl.vertexAttrib4d(index, x, y, z, w);
   6178 }
   6179 
   6180 void CallLogWrapper::glVertexAttrib4dv (glw::GLuint index, const glw::GLdouble *v)
   6181 {
   6182 	if (m_enableLog)
   6183 		m_log << TestLog::Message << "glVertexAttrib4dv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
   6184 	m_gl.vertexAttrib4dv(index, v);
   6185 }
   6186 
   6187 void CallLogWrapper::glVertexAttrib4f (glw::GLuint index, glw::GLfloat x, glw::GLfloat y, glw::GLfloat z, glw::GLfloat w)
   6188 {
   6189 	if (m_enableLog)
   6190 		m_log << TestLog::Message << "glVertexAttrib4f(" << index << ", " << x << ", " << y << ", " << z << ", " << w << ");" << TestLog::EndMessage;
   6191 	m_gl.vertexAttrib4f(index, x, y, z, w);
   6192 }
   6193 
   6194 void CallLogWrapper::glVertexAttrib4fv (glw::GLuint index, const glw::GLfloat *v)
   6195 {
   6196 	if (m_enableLog)
   6197 		m_log << TestLog::Message << "glVertexAttrib4fv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
   6198 	m_gl.vertexAttrib4fv(index, v);
   6199 }
   6200 
   6201 void CallLogWrapper::glVertexAttrib4iv (glw::GLuint index, const glw::GLint *v)
   6202 {
   6203 	if (m_enableLog)
   6204 		m_log << TestLog::Message << "glVertexAttrib4iv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
   6205 	m_gl.vertexAttrib4iv(index, v);
   6206 }
   6207 
   6208 void CallLogWrapper::glVertexAttrib4s (glw::GLuint index, glw::GLshort x, glw::GLshort y, glw::GLshort z, glw::GLshort w)
   6209 {
   6210 	if (m_enableLog)
   6211 		m_log << TestLog::Message << "glVertexAttrib4s(" << index << ", " << x << ", " << y << ", " << z << ", " << w << ");" << TestLog::EndMessage;
   6212 	m_gl.vertexAttrib4s(index, x, y, z, w);
   6213 }
   6214 
   6215 void CallLogWrapper::glVertexAttrib4sv (glw::GLuint index, const glw::GLshort *v)
   6216 {
   6217 	if (m_enableLog)
   6218 		m_log << TestLog::Message << "glVertexAttrib4sv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
   6219 	m_gl.vertexAttrib4sv(index, v);
   6220 }
   6221 
   6222 void CallLogWrapper::glVertexAttrib4ubv (glw::GLuint index, const glw::GLubyte *v)
   6223 {
   6224 	if (m_enableLog)
   6225 		m_log << TestLog::Message << "glVertexAttrib4ubv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
   6226 	m_gl.vertexAttrib4ubv(index, v);
   6227 }
   6228 
   6229 void CallLogWrapper::glVertexAttrib4uiv (glw::GLuint index, const glw::GLuint *v)
   6230 {
   6231 	if (m_enableLog)
   6232 		m_log << TestLog::Message << "glVertexAttrib4uiv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
   6233 	m_gl.vertexAttrib4uiv(index, v);
   6234 }
   6235 
   6236 void CallLogWrapper::glVertexAttrib4usv (glw::GLuint index, const glw::GLushort *v)
   6237 {
   6238 	if (m_enableLog)
   6239 		m_log << TestLog::Message << "glVertexAttrib4usv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
   6240 	m_gl.vertexAttrib4usv(index, v);
   6241 }
   6242 
   6243 void CallLogWrapper::glVertexAttribBinding (glw::GLuint attribindex, glw::GLuint bindingindex)
   6244 {
   6245 	if (m_enableLog)
   6246 		m_log << TestLog::Message << "glVertexAttribBinding(" << attribindex << ", " << bindingindex << ");" << TestLog::EndMessage;
   6247 	m_gl.vertexAttribBinding(attribindex, bindingindex);
   6248 }
   6249 
   6250 void CallLogWrapper::glVertexAttribDivisor (glw::GLuint index, glw::GLuint divisor)
   6251 {
   6252 	if (m_enableLog)
   6253 		m_log << TestLog::Message << "glVertexAttribDivisor(" << index << ", " << divisor << ");" << TestLog::EndMessage;
   6254 	m_gl.vertexAttribDivisor(index, divisor);
   6255 }
   6256 
   6257 void CallLogWrapper::glVertexAttribFormat (glw::GLuint attribindex, glw::GLint size, glw::GLenum type, glw::GLboolean normalized, glw::GLuint relativeoffset)
   6258 {
   6259 	if (m_enableLog)
   6260 		m_log << TestLog::Message << "glVertexAttribFormat(" << attribindex << ", " << size << ", " << getTypeStr(type) << ", " << getBooleanStr(normalized) << ", " << relativeoffset << ");" << TestLog::EndMessage;
   6261 	m_gl.vertexAttribFormat(attribindex, size, type, normalized, relativeoffset);
   6262 }
   6263 
   6264 void CallLogWrapper::glVertexAttribI1i (glw::GLuint index, glw::GLint x)
   6265 {
   6266 	if (m_enableLog)
   6267 		m_log << TestLog::Message << "glVertexAttribI1i(" << index << ", " << x << ");" << TestLog::EndMessage;
   6268 	m_gl.vertexAttribI1i(index, x);
   6269 }
   6270 
   6271 void CallLogWrapper::glVertexAttribI1iv (glw::GLuint index, const glw::GLint *v)
   6272 {
   6273 	if (m_enableLog)
   6274 		m_log << TestLog::Message << "glVertexAttribI1iv(" << index << ", " << getPointerStr(v, 1) << ");" << TestLog::EndMessage;
   6275 	m_gl.vertexAttribI1iv(index, v);
   6276 }
   6277 
   6278 void CallLogWrapper::glVertexAttribI1ui (glw::GLuint index, glw::GLuint x)
   6279 {
   6280 	if (m_enableLog)
   6281 		m_log << TestLog::Message << "glVertexAttribI1ui(" << index << ", " << x << ");" << TestLog::EndMessage;
   6282 	m_gl.vertexAttribI1ui(index, x);
   6283 }
   6284 
   6285 void CallLogWrapper::glVertexAttribI1uiv (glw::GLuint index, const glw::GLuint *v)
   6286 {
   6287 	if (m_enableLog)
   6288 		m_log << TestLog::Message << "glVertexAttribI1uiv(" << index << ", " << getPointerStr(v, 1) << ");" << TestLog::EndMessage;
   6289 	m_gl.vertexAttribI1uiv(index, v);
   6290 }
   6291 
   6292 void CallLogWrapper::glVertexAttribI2i (glw::GLuint index, glw::GLint x, glw::GLint y)
   6293 {
   6294 	if (m_enableLog)
   6295 		m_log << TestLog::Message << "glVertexAttribI2i(" << index << ", " << x << ", " << y << ");" << TestLog::EndMessage;
   6296 	m_gl.vertexAttribI2i(index, x, y);
   6297 }
   6298 
   6299 void CallLogWrapper::glVertexAttribI2iv (glw::GLuint index, const glw::GLint *v)
   6300 {
   6301 	if (m_enableLog)
   6302 		m_log << TestLog::Message << "glVertexAttribI2iv(" << index << ", " << getPointerStr(v, 2) << ");" << TestLog::EndMessage;
   6303 	m_gl.vertexAttribI2iv(index, v);
   6304 }
   6305 
   6306 void CallLogWrapper::glVertexAttribI2ui (glw::GLuint index, glw::GLuint x, glw::GLuint y)
   6307 {
   6308 	if (m_enableLog)
   6309 		m_log << TestLog::Message << "glVertexAttribI2ui(" << index << ", " << x << ", " << y << ");" << TestLog::EndMessage;
   6310 	m_gl.vertexAttribI2ui(index, x, y);
   6311 }
   6312 
   6313 void CallLogWrapper::glVertexAttribI2uiv (glw::GLuint index, const glw::GLuint *v)
   6314 {
   6315 	if (m_enableLog)
   6316 		m_log << TestLog::Message << "glVertexAttribI2uiv(" << index << ", " << getPointerStr(v, 2) << ");" << TestLog::EndMessage;
   6317 	m_gl.vertexAttribI2uiv(index, v);
   6318 }
   6319 
   6320 void CallLogWrapper::glVertexAttribI3i (glw::GLuint index, glw::GLint x, glw::GLint y, glw::GLint z)
   6321 {
   6322 	if (m_enableLog)
   6323 		m_log << TestLog::Message << "glVertexAttribI3i(" << index << ", " << x << ", " << y << ", " << z << ");" << TestLog::EndMessage;
   6324 	m_gl.vertexAttribI3i(index, x, y, z);
   6325 }
   6326 
   6327 void CallLogWrapper::glVertexAttribI3iv (glw::GLuint index, const glw::GLint *v)
   6328 {
   6329 	if (m_enableLog)
   6330 		m_log << TestLog::Message << "glVertexAttribI3iv(" << index << ", " << getPointerStr(v, 3) << ");" << TestLog::EndMessage;
   6331 	m_gl.vertexAttribI3iv(index, v);
   6332 }
   6333 
   6334 void CallLogWrapper::glVertexAttribI3ui (glw::GLuint index, glw::GLuint x, glw::GLuint y, glw::GLuint z)
   6335 {
   6336 	if (m_enableLog)
   6337 		m_log << TestLog::Message << "glVertexAttribI3ui(" << index << ", " << x << ", " << y << ", " << z << ");" << TestLog::EndMessage;
   6338 	m_gl.vertexAttribI3ui(index, x, y, z);
   6339 }
   6340 
   6341 void CallLogWrapper::glVertexAttribI3uiv (glw::GLuint index, const glw::GLuint *v)
   6342 {
   6343 	if (m_enableLog)
   6344 		m_log << TestLog::Message << "glVertexAttribI3uiv(" << index << ", " << getPointerStr(v, 3) << ");" << TestLog::EndMessage;
   6345 	m_gl.vertexAttribI3uiv(index, v);
   6346 }
   6347 
   6348 void CallLogWrapper::glVertexAttribI4bv (glw::GLuint index, const glw::GLbyte *v)
   6349 {
   6350 	if (m_enableLog)
   6351 		m_log << TestLog::Message << "glVertexAttribI4bv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
   6352 	m_gl.vertexAttribI4bv(index, v);
   6353 }
   6354 
   6355 void CallLogWrapper::glVertexAttribI4i (glw::GLuint index, glw::GLint x, glw::GLint y, glw::GLint z, glw::GLint w)
   6356 {
   6357 	if (m_enableLog)
   6358 		m_log << TestLog::Message << "glVertexAttribI4i(" << index << ", " << x << ", " << y << ", " << z << ", " << w << ");" << TestLog::EndMessage;
   6359 	m_gl.vertexAttribI4i(index, x, y, z, w);
   6360 }
   6361 
   6362 void CallLogWrapper::glVertexAttribI4iv (glw::GLuint index, const glw::GLint *v)
   6363 {
   6364 	if (m_enableLog)
   6365 		m_log << TestLog::Message << "glVertexAttribI4iv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
   6366 	m_gl.vertexAttribI4iv(index, v);
   6367 }
   6368 
   6369 void CallLogWrapper::glVertexAttribI4sv (glw::GLuint index, const glw::GLshort *v)
   6370 {
   6371 	if (m_enableLog)
   6372 		m_log << TestLog::Message << "glVertexAttribI4sv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
   6373 	m_gl.vertexAttribI4sv(index, v);
   6374 }
   6375 
   6376 void CallLogWrapper::glVertexAttribI4ubv (glw::GLuint index, const glw::GLubyte *v)
   6377 {
   6378 	if (m_enableLog)
   6379 		m_log << TestLog::Message << "glVertexAttribI4ubv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
   6380 	m_gl.vertexAttribI4ubv(index, v);
   6381 }
   6382 
   6383 void CallLogWrapper::glVertexAttribI4ui (glw::GLuint index, glw::GLuint x, glw::GLuint y, glw::GLuint z, glw::GLuint w)
   6384 {
   6385 	if (m_enableLog)
   6386 		m_log << TestLog::Message << "glVertexAttribI4ui(" << index << ", " << x << ", " << y << ", " << z << ", " << w << ");" << TestLog::EndMessage;
   6387 	m_gl.vertexAttribI4ui(index, x, y, z, w);
   6388 }
   6389 
   6390 void CallLogWrapper::glVertexAttribI4uiv (glw::GLuint index, const glw::GLuint *v)
   6391 {
   6392 	if (m_enableLog)
   6393 		m_log << TestLog::Message << "glVertexAttribI4uiv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
   6394 	m_gl.vertexAttribI4uiv(index, v);
   6395 }
   6396 
   6397 void CallLogWrapper::glVertexAttribI4usv (glw::GLuint index, const glw::GLushort *v)
   6398 {
   6399 	if (m_enableLog)
   6400 		m_log << TestLog::Message << "glVertexAttribI4usv(" << index << ", " << getPointerStr(v, 4) << ");" << TestLog::EndMessage;
   6401 	m_gl.vertexAttribI4usv(index, v);
   6402 }
   6403 
   6404 void CallLogWrapper::glVertexAttribIFormat (glw::GLuint attribindex, glw::GLint size, glw::GLenum type, glw::GLuint relativeoffset)
   6405 {
   6406 	if (m_enableLog)
   6407 		m_log << TestLog::Message << "glVertexAttribIFormat(" << attribindex << ", " << size << ", " << getTypeStr(type) << ", " << relativeoffset << ");" << TestLog::EndMessage;
   6408 	m_gl.vertexAttribIFormat(attribindex, size, type, relativeoffset);
   6409 }
   6410 
   6411 void CallLogWrapper::glVertexAttribIPointer (glw::GLuint index, glw::GLint size, glw::GLenum type, glw::GLsizei stride, const void *pointer)
   6412 {
   6413 	if (m_enableLog)
   6414 		m_log << TestLog::Message << "glVertexAttribIPointer(" << index << ", " << size << ", " << getTypeStr(type) << ", " << stride << ", " << pointer << ");" << TestLog::EndMessage;
   6415 	m_gl.vertexAttribIPointer(index, size, type, stride, pointer);
   6416 }
   6417 
   6418 void CallLogWrapper::glVertexAttribL1d (glw::GLuint index, glw::GLdouble x)
   6419 {
   6420 	if (m_enableLog)
   6421 		m_log << TestLog::Message << "glVertexAttribL1d(" << index << ", " << x << ");" << TestLog::EndMessage;
   6422 	m_gl.vertexAttribL1d(index, x);
   6423 }
   6424 
   6425 void CallLogWrapper::glVertexAttribL1dv (glw::GLuint index, const glw::GLdouble *v)
   6426 {
   6427 	if (m_enableLog)
   6428 		m_log << TestLog::Message << "glVertexAttribL1dv(" << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(v))) << ");" << TestLog::EndMessage;
   6429 	m_gl.vertexAttribL1dv(index, v);
   6430 }
   6431 
   6432 void CallLogWrapper::glVertexAttribL2d (glw::GLuint index, glw::GLdouble x, glw::GLdouble y)
   6433 {
   6434 	if (m_enableLog)
   6435 		m_log << TestLog::Message << "glVertexAttribL2d(" << index << ", " << x << ", " << y << ");" << TestLog::EndMessage;
   6436 	m_gl.vertexAttribL2d(index, x, y);
   6437 }
   6438 
   6439 void CallLogWrapper::glVertexAttribL2dv (glw::GLuint index, const glw::GLdouble *v)
   6440 {
   6441 	if (m_enableLog)
   6442 		m_log << TestLog::Message << "glVertexAttribL2dv(" << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(v))) << ");" << TestLog::EndMessage;
   6443 	m_gl.vertexAttribL2dv(index, v);
   6444 }
   6445 
   6446 void CallLogWrapper::glVertexAttribL3d (glw::GLuint index, glw::GLdouble x, glw::GLdouble y, glw::GLdouble z)
   6447 {
   6448 	if (m_enableLog)
   6449 		m_log << TestLog::Message << "glVertexAttribL3d(" << index << ", " << x << ", " << y << ", " << z << ");" << TestLog::EndMessage;
   6450 	m_gl.vertexAttribL3d(index, x, y, z);
   6451 }
   6452 
   6453 void CallLogWrapper::glVertexAttribL3dv (glw::GLuint index, const glw::GLdouble *v)
   6454 {
   6455 	if (m_enableLog)
   6456 		m_log << TestLog::Message << "glVertexAttribL3dv(" << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(v))) << ");" << TestLog::EndMessage;
   6457 	m_gl.vertexAttribL3dv(index, v);
   6458 }
   6459 
   6460 void CallLogWrapper::glVertexAttribL4d (glw::GLuint index, glw::GLdouble x, glw::GLdouble y, glw::GLdouble z, glw::GLdouble w)
   6461 {
   6462 	if (m_enableLog)
   6463 		m_log << TestLog::Message << "glVertexAttribL4d(" << index << ", " << x << ", " << y << ", " << z << ", " << w << ");" << TestLog::EndMessage;
   6464 	m_gl.vertexAttribL4d(index, x, y, z, w);
   6465 }
   6466 
   6467 void CallLogWrapper::glVertexAttribL4dv (glw::GLuint index, const glw::GLdouble *v)
   6468 {
   6469 	if (m_enableLog)
   6470 		m_log << TestLog::Message << "glVertexAttribL4dv(" << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(v))) << ");" << TestLog::EndMessage;
   6471 	m_gl.vertexAttribL4dv(index, v);
   6472 }
   6473 
   6474 void CallLogWrapper::glVertexAttribLFormat (glw::GLuint attribindex, glw::GLint size, glw::GLenum type, glw::GLuint relativeoffset)
   6475 {
   6476 	if (m_enableLog)
   6477 		m_log << TestLog::Message << "glVertexAttribLFormat(" << attribindex << ", " << size << ", " << toHex(type) << ", " << relativeoffset << ");" << TestLog::EndMessage;
   6478 	m_gl.vertexAttribLFormat(attribindex, size, type, relativeoffset);
   6479 }
   6480 
   6481 void CallLogWrapper::glVertexAttribLPointer (glw::GLuint index, glw::GLint size, glw::GLenum type, glw::GLsizei stride, const void *pointer)
   6482 {
   6483 	if (m_enableLog)
   6484 		m_log << TestLog::Message << "glVertexAttribLPointer(" << index << ", " << size << ", " << toHex(type) << ", " << stride << ", " << pointer << ");" << TestLog::EndMessage;
   6485 	m_gl.vertexAttribLPointer(index, size, type, stride, pointer);
   6486 }
   6487 
   6488 void CallLogWrapper::glVertexAttribP1ui (glw::GLuint index, glw::GLenum type, glw::GLboolean normalized, glw::GLuint value)
   6489 {
   6490 	if (m_enableLog)
   6491 		m_log << TestLog::Message << "glVertexAttribP1ui(" << index << ", " << toHex(type) << ", " << getBooleanStr(normalized) << ", " << value << ");" << TestLog::EndMessage;
   6492 	m_gl.vertexAttribP1ui(index, type, normalized, value);
   6493 }
   6494 
   6495 void CallLogWrapper::glVertexAttribP1uiv (glw::GLuint index, glw::GLenum type, glw::GLboolean normalized, const glw::GLuint *value)
   6496 {
   6497 	if (m_enableLog)
   6498 		m_log << TestLog::Message << "glVertexAttribP1uiv(" << index << ", " << toHex(type) << ", " << getBooleanStr(normalized) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   6499 	m_gl.vertexAttribP1uiv(index, type, normalized, value);
   6500 }
   6501 
   6502 void CallLogWrapper::glVertexAttribP2ui (glw::GLuint index, glw::GLenum type, glw::GLboolean normalized, glw::GLuint value)
   6503 {
   6504 	if (m_enableLog)
   6505 		m_log << TestLog::Message << "glVertexAttribP2ui(" << index << ", " << toHex(type) << ", " << getBooleanStr(normalized) << ", " << value << ");" << TestLog::EndMessage;
   6506 	m_gl.vertexAttribP2ui(index, type, normalized, value);
   6507 }
   6508 
   6509 void CallLogWrapper::glVertexAttribP2uiv (glw::GLuint index, glw::GLenum type, glw::GLboolean normalized, const glw::GLuint *value)
   6510 {
   6511 	if (m_enableLog)
   6512 		m_log << TestLog::Message << "glVertexAttribP2uiv(" << index << ", " << toHex(type) << ", " << getBooleanStr(normalized) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   6513 	m_gl.vertexAttribP2uiv(index, type, normalized, value);
   6514 }
   6515 
   6516 void CallLogWrapper::glVertexAttribP3ui (glw::GLuint index, glw::GLenum type, glw::GLboolean normalized, glw::GLuint value)
   6517 {
   6518 	if (m_enableLog)
   6519 		m_log << TestLog::Message << "glVertexAttribP3ui(" << index << ", " << toHex(type) << ", " << getBooleanStr(normalized) << ", " << value << ");" << TestLog::EndMessage;
   6520 	m_gl.vertexAttribP3ui(index, type, normalized, value);
   6521 }
   6522 
   6523 void CallLogWrapper::glVertexAttribP3uiv (glw::GLuint index, glw::GLenum type, glw::GLboolean normalized, const glw::GLuint *value)
   6524 {
   6525 	if (m_enableLog)
   6526 		m_log << TestLog::Message << "glVertexAttribP3uiv(" << index << ", " << toHex(type) << ", " << getBooleanStr(normalized) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   6527 	m_gl.vertexAttribP3uiv(index, type, normalized, value);
   6528 }
   6529 
   6530 void CallLogWrapper::glVertexAttribP4ui (glw::GLuint index, glw::GLenum type, glw::GLboolean normalized, glw::GLuint value)
   6531 {
   6532 	if (m_enableLog)
   6533 		m_log << TestLog::Message << "glVertexAttribP4ui(" << index << ", " << toHex(type) << ", " << getBooleanStr(normalized) << ", " << value << ");" << TestLog::EndMessage;
   6534 	m_gl.vertexAttribP4ui(index, type, normalized, value);
   6535 }
   6536 
   6537 void CallLogWrapper::glVertexAttribP4uiv (glw::GLuint index, glw::GLenum type, glw::GLboolean normalized, const glw::GLuint *value)
   6538 {
   6539 	if (m_enableLog)
   6540 		m_log << TestLog::Message << "glVertexAttribP4uiv(" << index << ", " << toHex(type) << ", " << getBooleanStr(normalized) << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(value))) << ");" << TestLog::EndMessage;
   6541 	m_gl.vertexAttribP4uiv(index, type, normalized, value);
   6542 }
   6543 
   6544 void CallLogWrapper::glVertexAttribPointer (glw::GLuint index, glw::GLint size, glw::GLenum type, glw::GLboolean normalized, glw::GLsizei stride, const void *pointer)
   6545 {
   6546 	if (m_enableLog)
   6547 		m_log << TestLog::Message << "glVertexAttribPointer(" << index << ", " << size << ", " << getTypeStr(type) << ", " << getBooleanStr(normalized) << ", " << stride << ", " << pointer << ");" << TestLog::EndMessage;
   6548 	m_gl.vertexAttribPointer(index, size, type, normalized, stride, pointer);
   6549 }
   6550 
   6551 void CallLogWrapper::glVertexBindingDivisor (glw::GLuint bindingindex, glw::GLuint divisor)
   6552 {
   6553 	if (m_enableLog)
   6554 		m_log << TestLog::Message << "glVertexBindingDivisor(" << bindingindex << ", " << divisor << ");" << TestLog::EndMessage;
   6555 	m_gl.vertexBindingDivisor(bindingindex, divisor);
   6556 }
   6557 
   6558 void CallLogWrapper::glViewport (glw::GLint x, glw::GLint y, glw::GLsizei width, glw::GLsizei height)
   6559 {
   6560 	if (m_enableLog)
   6561 		m_log << TestLog::Message << "glViewport(" << x << ", " << y << ", " << width << ", " << height << ");" << TestLog::EndMessage;
   6562 	m_gl.viewport(x, y, width, height);
   6563 }
   6564 
   6565 void CallLogWrapper::glViewportArrayv (glw::GLuint first, glw::GLsizei count, const glw::GLfloat *v)
   6566 {
   6567 	if (m_enableLog)
   6568 		m_log << TestLog::Message << "glViewportArrayv(" << first << ", " << count << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(v))) << ");" << TestLog::EndMessage;
   6569 	m_gl.viewportArrayv(first, count, v);
   6570 }
   6571 
   6572 void CallLogWrapper::glViewportIndexedf (glw::GLuint index, glw::GLfloat x, glw::GLfloat y, glw::GLfloat w, glw::GLfloat h)
   6573 {
   6574 	if (m_enableLog)
   6575 		m_log << TestLog::Message << "glViewportIndexedf(" << index << ", " << x << ", " << y << ", " << w << ", " << h << ");" << TestLog::EndMessage;
   6576 	m_gl.viewportIndexedf(index, x, y, w, h);
   6577 }
   6578 
   6579 void CallLogWrapper::glViewportIndexedfv (glw::GLuint index, const glw::GLfloat *v)
   6580 {
   6581 	if (m_enableLog)
   6582 		m_log << TestLog::Message << "glViewportIndexedfv(" << index << ", " << toHex(reinterpret_cast<deUintptr>(static_cast<const void*>(v))) << ");" << TestLog::EndMessage;
   6583 	m_gl.viewportIndexedfv(index, v);
   6584 }
   6585 
   6586 void CallLogWrapper::glWaitSync (glw::GLsync sync, glw::GLbitfield flags, glw::GLuint64 timeout)
   6587 {
   6588 	if (m_enableLog)
   6589 		m_log << TestLog::Message << "glWaitSync(" << sync << ", " << toHex(flags) << ", " << timeout << ");" << TestLog::EndMessage;
   6590 	m_gl.waitSync(sync, flags, timeout);
   6591 }
   6592