| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // This file is auto-generated from | 5 // This file is auto-generated from |
| 6 // gpu/command_buffer/build_gles2_cmd_buffer.py | 6 // gpu/command_buffer/build_gles2_cmd_buffer.py |
| 7 // DO NOT EDIT! | 7 // DO NOT EDIT! |
| 8 | 8 |
| 9 // This file is included by gles2_implementation.h to declare the | 9 // This file is included by gles2_implementation.h to declare the |
| 10 // GL api functions. | 10 // GL api functions. |
| 11 #ifndef GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_AUTOGEN_H_ | 11 #ifndef GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_AUTOGEN_H_ |
| 12 #define GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_AUTOGEN_H_ | 12 #define GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_AUTOGEN_H_ |
| 13 | 13 |
| 14 void ActiveTexture(GLenum texture); | 14 virtual void ActiveTexture(GLenum texture) OVERRIDE; |
| 15 | 15 |
| 16 void AttachShader(GLuint program, GLuint shader) { | 16 virtual void AttachShader(GLuint program, GLuint shader) OVERRIDE; |
| 17 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 17 |
| 18 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glAttachShader(" << program << ", "
<< shader << ")"); // NOLINT | 18 virtual void BindAttribLocation( |
| 19 helper_->AttachShader(program, shader); | 19 GLuint program, GLuint index, const char* name) OVERRIDE; |
| 20 } | 20 |
| 21 | 21 virtual void BindBuffer(GLenum target, GLuint buffer) OVERRIDE; |
| 22 void BindAttribLocation(GLuint program, GLuint index, const char* name); | 22 |
| 23 | 23 virtual void BindFramebuffer(GLenum target, GLuint framebuffer) OVERRIDE; |
| 24 void BindBuffer(GLenum target, GLuint buffer) { | 24 |
| 25 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 25 virtual void BindRenderbuffer(GLenum target, GLuint renderbuffer) OVERRIDE; |
| 26 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindBuffer(" << GLES2Util::GetStr
ingBufferTarget(target) << ", " << buffer << ")"); // NOLINT | 26 |
| 27 if (IsBufferReservedId(buffer)) { | 27 virtual void BindTexture(GLenum target, GLuint texture) OVERRIDE; |
| 28 SetGLError(GL_INVALID_OPERATION, "BindBuffer", "buffer reserved id"); | 28 |
| 29 return; | 29 virtual void BlendColor( |
| 30 } | 30 GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) OVERRIDE; |
| 31 BindBufferHelper(target, buffer); | 31 |
| 32 helper_->BindBuffer(target, buffer); | 32 virtual void BlendEquation(GLenum mode) OVERRIDE; |
| 33 } | 33 |
| 34 | 34 virtual void BlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) OVERRIDE; |
| 35 void BindFramebuffer(GLenum target, GLuint framebuffer) { | 35 |
| 36 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 36 virtual void BlendFunc(GLenum sfactor, GLenum dfactor) OVERRIDE; |
| 37 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindFramebuffer(" << GLES2Util::G
etStringFrameBufferTarget(target) << ", " << framebuffer << ")"); // NOLINT | 37 |
| 38 if (IsFramebufferReservedId(framebuffer)) { | 38 virtual void BlendFuncSeparate( |
| 39 SetGLError( | 39 GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) OVERRIDE; |
| 40 GL_INVALID_OPERATION, "BindFramebuffer", "framebuffer reserved id"); | 40 |
| 41 return; | 41 virtual void BufferData( |
| 42 } | 42 GLenum target, GLsizeiptr size, const void* data, GLenum usage) OVERRIDE; |
| 43 BindFramebufferHelper(target, framebuffer); | 43 |
| 44 helper_->BindFramebuffer(target, framebuffer); | 44 virtual void BufferSubData( |
| 45 } | 45 GLenum target, GLintptr offset, GLsizeiptr size, |
| 46 | 46 const void* data) OVERRIDE; |
| 47 void BindRenderbuffer(GLenum target, GLuint renderbuffer) { | 47 |
| 48 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 48 virtual GLenum CheckFramebufferStatus(GLenum target) OVERRIDE; |
| 49 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindRenderbuffer(" << GLES2Util::
GetStringRenderBufferTarget(target) << ", " << renderbuffer << ")"); // NOLINT | 49 |
| 50 if (IsRenderbufferReservedId(renderbuffer)) { | 50 virtual void Clear(GLbitfield mask) OVERRIDE; |
| 51 SetGLError( | 51 |
| 52 GL_INVALID_OPERATION, "BindRenderbuffer", "renderbuffer reserved id"); | 52 virtual void ClearColor( |
| 53 return; | 53 GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) OVERRIDE; |
| 54 } | 54 |
| 55 BindRenderbufferHelper(target, renderbuffer); | 55 virtual void ClearDepthf(GLclampf depth) OVERRIDE; |
| 56 helper_->BindRenderbuffer(target, renderbuffer); | 56 |
| 57 } | 57 virtual void ClearStencil(GLint s) OVERRIDE; |
| 58 | 58 |
| 59 void BindTexture(GLenum target, GLuint texture) { | 59 virtual void ColorMask( |
| 60 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 60 GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) OVERRIDE; |
| 61 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindTexture(" << GLES2Util::GetSt
ringTextureBindTarget(target) << ", " << texture << ")"); // NOLINT | 61 |
| 62 if (IsTextureReservedId(texture)) { | 62 virtual void CompileShader(GLuint shader) OVERRIDE; |
| 63 SetGLError(GL_INVALID_OPERATION, "BindTexture", "texture reserved id"); | 63 |
| 64 return; | 64 virtual void CompressedTexImage2D( |
| 65 } | |
| 66 BindTextureHelper(target, texture); | |
| 67 helper_->BindTexture(target, texture); | |
| 68 } | |
| 69 | |
| 70 void BlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) { | |
| 71 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 72 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlendColor(" << red << ", " << gr
een << ", " << blue << ", " << alpha << ")"); // NOLINT | |
| 73 helper_->BlendColor(red, green, blue, alpha); | |
| 74 } | |
| 75 | |
| 76 void BlendEquation(GLenum mode) { | |
| 77 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 78 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlendEquation(" << GLES2Util::Get
StringEquation(mode) << ")"); // NOLINT | |
| 79 helper_->BlendEquation(mode); | |
| 80 } | |
| 81 | |
| 82 void BlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { | |
| 83 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 84 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlendEquationSeparate(" << GLES2U
til::GetStringEquation(modeRGB) << ", " << GLES2Util::GetStringEquation(modeAlph
a) << ")"); // NOLINT | |
| 85 helper_->BlendEquationSeparate(modeRGB, modeAlpha); | |
| 86 } | |
| 87 | |
| 88 void BlendFunc(GLenum sfactor, GLenum dfactor) { | |
| 89 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 90 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlendFunc(" << GLES2Util::GetStri
ngSrcBlendFactor(sfactor) << ", " << GLES2Util::GetStringDstBlendFactor(dfactor)
<< ")"); // NOLINT | |
| 91 helper_->BlendFunc(sfactor, dfactor); | |
| 92 } | |
| 93 | |
| 94 void BlendFuncSeparate( | |
| 95 GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { | |
| 96 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 97 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlendFuncSeparate(" << GLES2Util:
:GetStringSrcBlendFactor(srcRGB) << ", " << GLES2Util::GetStringDstBlendFactor(d
stRGB) << ", " << GLES2Util::GetStringSrcBlendFactor(srcAlpha) << ", " << GLES2U
til::GetStringDstBlendFactor(dstAlpha) << ")"); // NOLINT | |
| 98 helper_->BlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); | |
| 99 } | |
| 100 | |
| 101 void BufferData( | |
| 102 GLenum target, GLsizeiptr size, const void* data, GLenum usage); | |
| 103 | |
| 104 void BufferSubData( | |
| 105 GLenum target, GLintptr offset, GLsizeiptr size, const void* data); | |
| 106 | |
| 107 GLenum CheckFramebufferStatus(GLenum target) { | |
| 108 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 109 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCheckFramebufferStatus(" << GLES2
Util::GetStringFrameBufferTarget(target) << ")"); // NOLINT | |
| 110 typedef CheckFramebufferStatus::Result Result; | |
| 111 Result* result = GetResultAs<Result*>(); | |
| 112 if (!result) { | |
| 113 return GL_FRAMEBUFFER_UNSUPPORTED; | |
| 114 } | |
| 115 *result = 0; | |
| 116 helper_->CheckFramebufferStatus( | |
| 117 target, GetResultShmId(), GetResultShmOffset()); | |
| 118 WaitForCmd(); | |
| 119 GPU_CLIENT_LOG("returned " << *result); | |
| 120 return *result; | |
| 121 } | |
| 122 | |
| 123 void Clear(GLbitfield mask); | |
| 124 | |
| 125 void ClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) { | |
| 126 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 127 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glClearColor(" << red << ", " << gr
een << ", " << blue << ", " << alpha << ")"); // NOLINT | |
| 128 helper_->ClearColor(red, green, blue, alpha); | |
| 129 } | |
| 130 | |
| 131 void ClearDepthf(GLclampf depth) { | |
| 132 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 133 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glClearDepthf(" << depth << ")"); | |
| 134 helper_->ClearDepthf(depth); | |
| 135 } | |
| 136 | |
| 137 void ClearStencil(GLint s) { | |
| 138 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 139 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glClearStencil(" << s << ")"); | |
| 140 helper_->ClearStencil(s); | |
| 141 } | |
| 142 | |
| 143 void ColorMask( | |
| 144 GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { | |
| 145 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 146 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glColorMask(" << GLES2Util::GetStri
ngBool(red) << ", " << GLES2Util::GetStringBool(green) << ", " << GLES2Util::Get
StringBool(blue) << ", " << GLES2Util::GetStringBool(alpha) << ")"); // NOLINT | |
| 147 helper_->ColorMask(red, green, blue, alpha); | |
| 148 } | |
| 149 | |
| 150 void CompileShader(GLuint shader) { | |
| 151 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 152 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCompileShader(" << shader << ")")
; // NOLINT | |
| 153 helper_->CompileShader(shader); | |
| 154 } | |
| 155 | |
| 156 void CompressedTexImage2D( | |
| 157 GLenum target, GLint level, GLenum internalformat, GLsizei width, | 65 GLenum target, GLint level, GLenum internalformat, GLsizei width, |
| 158 GLsizei height, GLint border, GLsizei imageSize, const void* data); | 66 GLsizei height, GLint border, GLsizei imageSize, |
| 159 | 67 const void* data) OVERRIDE; |
| 160 void CompressedTexSubImage2D( | 68 |
| 69 virtual void CompressedTexSubImage2D( |
| 161 GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, | 70 GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, |
| 162 GLsizei height, GLenum format, GLsizei imageSize, const void* data); | 71 GLsizei height, GLenum format, GLsizei imageSize, |
| 163 | 72 const void* data) OVERRIDE; |
| 164 void CopyTexImage2D( | 73 |
| 74 virtual void CopyTexImage2D( |
| 165 GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, | 75 GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, |
| 166 GLsizei width, GLsizei height, GLint border) { | 76 GLsizei width, GLsizei height, GLint border) OVERRIDE; |
| 167 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 77 |
| 168 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCopyTexImage2D(" << GLES2Util::Ge
tStringTextureTarget(target) << ", " << level << ", " << GLES2Util::GetStringTex
tureInternalFormat(internalformat) << ", " << x << ", " << y << ", " << width <<
", " << height << ", " << border << ")"); // NOLINT | 78 virtual void CopyTexSubImage2D( |
| 169 if (width < 0) { | |
| 170 SetGLError(GL_INVALID_VALUE, "glCopyTexImage2D", "width < 0"); | |
| 171 return; | |
| 172 } | |
| 173 if (height < 0) { | |
| 174 SetGLError(GL_INVALID_VALUE, "glCopyTexImage2D", "height < 0"); | |
| 175 return; | |
| 176 } | |
| 177 helper_->CopyTexImage2D( | |
| 178 target, level, internalformat, x, y, width, height, border); | |
| 179 } | |
| 180 | |
| 181 void CopyTexSubImage2D( | |
| 182 GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, | 79 GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, |
| 183 GLsizei width, GLsizei height) { | 80 GLsizei width, GLsizei height) OVERRIDE; |
| 184 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 81 |
| 185 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCopyTexSubImage2D(" << GLES2Util:
:GetStringTextureTarget(target) << ", " << level << ", " << xoffset << ", " << y
offset << ", " << x << ", " << y << ", " << width << ", " << height << ")"); //
NOLINT | 82 virtual GLuint CreateProgram() OVERRIDE; |
| 186 if (width < 0) { | 83 |
| 187 SetGLError(GL_INVALID_VALUE, "glCopyTexSubImage2D", "width < 0"); | 84 virtual GLuint CreateShader(GLenum type) OVERRIDE; |
| 188 return; | 85 |
| 189 } | 86 virtual void CullFace(GLenum mode) OVERRIDE; |
| 190 if (height < 0) { | 87 |
| 191 SetGLError(GL_INVALID_VALUE, "glCopyTexSubImage2D", "height < 0"); | 88 virtual void DeleteBuffers(GLsizei n, const GLuint* buffers) OVERRIDE; |
| 192 return; | 89 |
| 193 } | 90 virtual void DeleteFramebuffers( |
| 194 helper_->CopyTexSubImage2D( | 91 GLsizei n, const GLuint* framebuffers) OVERRIDE; |
| 195 target, level, xoffset, yoffset, x, y, width, height); | 92 |
| 196 } | 93 virtual void DeleteProgram(GLuint program) OVERRIDE; |
| 197 | 94 |
| 198 GLuint CreateProgram() { | 95 virtual void DeleteRenderbuffers( |
| 199 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 96 GLsizei n, const GLuint* renderbuffers) OVERRIDE; |
| 200 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCreateProgram(" << ")"); | 97 |
| 201 GLuint client_id; | 98 virtual void DeleteShader(GLuint shader) OVERRIDE; |
| 202 GetIdHandler(id_namespaces::kProgramsAndShaders)-> | 99 |
| 203 MakeIds(this, 0, 1, &client_id); | 100 virtual void DeleteTextures(GLsizei n, const GLuint* textures) OVERRIDE; |
| 204 helper_->CreateProgram(client_id); | 101 |
| 205 GPU_CLIENT_LOG("returned " << client_id); | 102 virtual void DepthFunc(GLenum func) OVERRIDE; |
| 206 return client_id; | 103 |
| 207 } | 104 virtual void DepthMask(GLboolean flag) OVERRIDE; |
| 208 | 105 |
| 209 GLuint CreateShader(GLenum type) { | 106 virtual void DepthRangef(GLclampf zNear, GLclampf zFar) OVERRIDE; |
| 210 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 107 |
| 211 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCreateShader(" << GLES2Util::GetS
tringShaderType(type) << ")"); // NOLINT | 108 virtual void DetachShader(GLuint program, GLuint shader) OVERRIDE; |
| 212 GLuint client_id; | 109 |
| 213 GetIdHandler(id_namespaces::kProgramsAndShaders)-> | 110 virtual void Disable(GLenum cap) OVERRIDE; |
| 214 MakeIds(this, 0, 1, &client_id); | 111 |
| 215 helper_->CreateShader(type, client_id); | 112 virtual void DrawArrays(GLenum mode, GLint first, GLsizei count) OVERRIDE; |
| 216 GPU_CLIENT_LOG("returned " << client_id); | 113 |
| 217 return client_id; | 114 virtual void DrawElements( |
| 218 } | 115 GLenum mode, GLsizei count, GLenum type, const void* indices) OVERRIDE; |
| 219 | 116 |
| 220 void CullFace(GLenum mode) { | 117 virtual void Enable(GLenum cap) OVERRIDE; |
| 221 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 118 |
| 222 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCullFace(" << GLES2Util::GetStrin
gFaceType(mode) << ")"); // NOLINT | 119 virtual void Finish() OVERRIDE; |
| 223 helper_->CullFace(mode); | 120 |
| 224 } | 121 virtual void Flush() OVERRIDE; |
| 225 | 122 |
| 226 void DeleteBuffers(GLsizei n, const GLuint* buffers) { | 123 virtual void ShallowFlushCHROMIUM() OVERRIDE; |
| 227 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 124 |
| 228 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteBuffers(" << n << ", " << s
tatic_cast<const void*>(buffers) << ")"); // NOLINT | 125 virtual void FramebufferRenderbuffer( |
| 229 GPU_CLIENT_LOG_CODE_BLOCK({ | |
| 230 for (GLsizei i = 0; i < n; ++i) { | |
| 231 GPU_CLIENT_LOG(" " << i << ": " << buffers[i]); | |
| 232 } | |
| 233 }); | |
| 234 GPU_CLIENT_DCHECK_CODE_BLOCK({ | |
| 235 for (GLsizei i = 0; i < n; ++i) { | |
| 236 GPU_DCHECK(buffers[i] != 0); | |
| 237 } | |
| 238 }); | |
| 239 if (n < 0) { | |
| 240 SetGLError(GL_INVALID_VALUE, "glDeleteBuffers", "n < 0"); | |
| 241 return; | |
| 242 } | |
| 243 DeleteBuffersHelper(n, buffers); | |
| 244 } | |
| 245 | |
| 246 void DeleteFramebuffers(GLsizei n, const GLuint* framebuffers) { | |
| 247 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 248 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteFramebuffers(" << n << ", "
<< static_cast<const void*>(framebuffers) << ")"); // NOLINT | |
| 249 GPU_CLIENT_LOG_CODE_BLOCK({ | |
| 250 for (GLsizei i = 0; i < n; ++i) { | |
| 251 GPU_CLIENT_LOG(" " << i << ": " << framebuffers[i]); | |
| 252 } | |
| 253 }); | |
| 254 GPU_CLIENT_DCHECK_CODE_BLOCK({ | |
| 255 for (GLsizei i = 0; i < n; ++i) { | |
| 256 GPU_DCHECK(framebuffers[i] != 0); | |
| 257 } | |
| 258 }); | |
| 259 if (n < 0) { | |
| 260 SetGLError(GL_INVALID_VALUE, "glDeleteFramebuffers", "n < 0"); | |
| 261 return; | |
| 262 } | |
| 263 DeleteFramebuffersHelper(n, framebuffers); | |
| 264 } | |
| 265 | |
| 266 void DeleteProgram(GLuint program) { | |
| 267 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 268 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteProgram(" << program << ")"
); // NOLINT | |
| 269 GPU_CLIENT_DCHECK(program != 0); | |
| 270 DeleteProgramHelper(program); | |
| 271 } | |
| 272 | |
| 273 void DeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers) { | |
| 274 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 275 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteRenderbuffers(" << n << ",
" << static_cast<const void*>(renderbuffers) << ")"); // NOLINT | |
| 276 GPU_CLIENT_LOG_CODE_BLOCK({ | |
| 277 for (GLsizei i = 0; i < n; ++i) { | |
| 278 GPU_CLIENT_LOG(" " << i << ": " << renderbuffers[i]); | |
| 279 } | |
| 280 }); | |
| 281 GPU_CLIENT_DCHECK_CODE_BLOCK({ | |
| 282 for (GLsizei i = 0; i < n; ++i) { | |
| 283 GPU_DCHECK(renderbuffers[i] != 0); | |
| 284 } | |
| 285 }); | |
| 286 if (n < 0) { | |
| 287 SetGLError(GL_INVALID_VALUE, "glDeleteRenderbuffers", "n < 0"); | |
| 288 return; | |
| 289 } | |
| 290 DeleteRenderbuffersHelper(n, renderbuffers); | |
| 291 } | |
| 292 | |
| 293 void DeleteShader(GLuint shader) { | |
| 294 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 295 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteShader(" << shader << ")"); | |
| 296 GPU_CLIENT_DCHECK(shader != 0); | |
| 297 DeleteShaderHelper(shader); | |
| 298 } | |
| 299 | |
| 300 void DeleteTextures(GLsizei n, const GLuint* textures) { | |
| 301 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 302 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteTextures(" << n << ", " <<
static_cast<const void*>(textures) << ")"); // NOLINT | |
| 303 GPU_CLIENT_LOG_CODE_BLOCK({ | |
| 304 for (GLsizei i = 0; i < n; ++i) { | |
| 305 GPU_CLIENT_LOG(" " << i << ": " << textures[i]); | |
| 306 } | |
| 307 }); | |
| 308 GPU_CLIENT_DCHECK_CODE_BLOCK({ | |
| 309 for (GLsizei i = 0; i < n; ++i) { | |
| 310 GPU_DCHECK(textures[i] != 0); | |
| 311 } | |
| 312 }); | |
| 313 if (n < 0) { | |
| 314 SetGLError(GL_INVALID_VALUE, "glDeleteTextures", "n < 0"); | |
| 315 return; | |
| 316 } | |
| 317 DeleteTexturesHelper(n, textures); | |
| 318 } | |
| 319 | |
| 320 void DepthFunc(GLenum func) { | |
| 321 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 322 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDepthFunc(" << GLES2Util::GetStri
ngCmpFunction(func) << ")"); // NOLINT | |
| 323 helper_->DepthFunc(func); | |
| 324 } | |
| 325 | |
| 326 void DepthMask(GLboolean flag) { | |
| 327 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 328 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDepthMask(" << GLES2Util::GetStri
ngBool(flag) << ")"); // NOLINT | |
| 329 helper_->DepthMask(flag); | |
| 330 } | |
| 331 | |
| 332 void DepthRangef(GLclampf zNear, GLclampf zFar) { | |
| 333 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 334 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDepthRangef(" << zNear << ", " <<
zFar << ")"); // NOLINT | |
| 335 helper_->DepthRangef(zNear, zFar); | |
| 336 } | |
| 337 | |
| 338 void DetachShader(GLuint program, GLuint shader) { | |
| 339 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 340 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDetachShader(" << program << ", "
<< shader << ")"); // NOLINT | |
| 341 helper_->DetachShader(program, shader); | |
| 342 } | |
| 343 | |
| 344 void Disable(GLenum cap); | |
| 345 | |
| 346 void DrawArrays(GLenum mode, GLint first, GLsizei count); | |
| 347 | |
| 348 void DrawElements( | |
| 349 GLenum mode, GLsizei count, GLenum type, const void* indices); | |
| 350 | |
| 351 void Enable(GLenum cap); | |
| 352 | |
| 353 void Finish(); | |
| 354 | |
| 355 void Flush(); | |
| 356 | |
| 357 void ShallowFlushCHROMIUM(); | |
| 358 | |
| 359 void FramebufferRenderbuffer( | |
| 360 GLenum target, GLenum attachment, GLenum renderbuffertarget, | 126 GLenum target, GLenum attachment, GLenum renderbuffertarget, |
| 361 GLuint renderbuffer) { | 127 GLuint renderbuffer) OVERRIDE; |
| 362 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 128 |
| 363 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glFramebufferRenderbuffer(" << GLES
2Util::GetStringFrameBufferTarget(target) << ", " << GLES2Util::GetStringAttachm
ent(attachment) << ", " << GLES2Util::GetStringRenderBufferTarget(renderbufferta
rget) << ", " << renderbuffer << ")"); // NOLINT | 129 virtual void FramebufferTexture2D( |
| 364 helper_->FramebufferRenderbuffer( | |
| 365 target, attachment, renderbuffertarget, renderbuffer); | |
| 366 } | |
| 367 | |
| 368 void FramebufferTexture2D( | |
| 369 GLenum target, GLenum attachment, GLenum textarget, GLuint texture, | 130 GLenum target, GLenum attachment, GLenum textarget, GLuint texture, |
| 370 GLint level) { | 131 GLint level) OVERRIDE; |
| 371 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 132 |
| 372 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glFramebufferTexture2D(" << GLES2Ut
il::GetStringFrameBufferTarget(target) << ", " << GLES2Util::GetStringAttachment
(attachment) << ", " << GLES2Util::GetStringTextureTarget(textarget) << ", " <<
texture << ", " << level << ")"); // NOLINT | 133 virtual void FrontFace(GLenum mode) OVERRIDE; |
| 373 helper_->FramebufferTexture2D(target, attachment, textarget, texture, level); | 134 |
| 374 } | 135 virtual void GenBuffers(GLsizei n, GLuint* buffers) OVERRIDE; |
| 375 | 136 |
| 376 void FrontFace(GLenum mode) { | 137 virtual void GenerateMipmap(GLenum target) OVERRIDE; |
| 377 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 138 |
| 378 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glFrontFace(" << GLES2Util::GetStri
ngFaceMode(mode) << ")"); // NOLINT | 139 virtual void GenFramebuffers(GLsizei n, GLuint* framebuffers) OVERRIDE; |
| 379 helper_->FrontFace(mode); | 140 |
| 380 } | 141 virtual void GenRenderbuffers(GLsizei n, GLuint* renderbuffers) OVERRIDE; |
| 381 | 142 |
| 382 void GenBuffers(GLsizei n, GLuint* buffers) { | 143 virtual void GenTextures(GLsizei n, GLuint* textures) OVERRIDE; |
| 383 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenBuffers(" << n << ", " << stat
ic_cast<const void*>(buffers) << ")"); // NOLINT | 144 |
| 384 if (n < 0) { | 145 virtual void GetActiveAttrib( |
| 385 SetGLError(GL_INVALID_VALUE, "glGenBuffers", "n < 0"); | |
| 386 return; | |
| 387 } | |
| 388 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 389 GetIdHandler(id_namespaces::kBuffers)-> | |
| 390 MakeIds(this, 0, n, buffers); | |
| 391 helper_->GenBuffersImmediate(n, buffers); | |
| 392 GPU_CLIENT_LOG_CODE_BLOCK({ | |
| 393 for (GLsizei i = 0; i < n; ++i) { | |
| 394 GPU_CLIENT_LOG(" " << i << ": " << buffers[i]); | |
| 395 } | |
| 396 }); | |
| 397 } | |
| 398 | |
| 399 void GenerateMipmap(GLenum target) { | |
| 400 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 401 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenerateMipmap(" << GLES2Util::Ge
tStringTextureBindTarget(target) << ")"); // NOLINT | |
| 402 helper_->GenerateMipmap(target); | |
| 403 } | |
| 404 | |
| 405 void GenFramebuffers(GLsizei n, GLuint* framebuffers) { | |
| 406 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenFramebuffers(" << n << ", " <<
static_cast<const void*>(framebuffers) << ")"); // NOLINT | |
| 407 if (n < 0) { | |
| 408 SetGLError(GL_INVALID_VALUE, "glGenFramebuffers", "n < 0"); | |
| 409 return; | |
| 410 } | |
| 411 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 412 GetIdHandler(id_namespaces::kFramebuffers)-> | |
| 413 MakeIds(this, 0, n, framebuffers); | |
| 414 helper_->GenFramebuffersImmediate(n, framebuffers); | |
| 415 GPU_CLIENT_LOG_CODE_BLOCK({ | |
| 416 for (GLsizei i = 0; i < n; ++i) { | |
| 417 GPU_CLIENT_LOG(" " << i << ": " << framebuffers[i]); | |
| 418 } | |
| 419 }); | |
| 420 } | |
| 421 | |
| 422 void GenRenderbuffers(GLsizei n, GLuint* renderbuffers) { | |
| 423 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenRenderbuffers(" << n << ", " <
< static_cast<const void*>(renderbuffers) << ")"); // NOLINT | |
| 424 if (n < 0) { | |
| 425 SetGLError(GL_INVALID_VALUE, "glGenRenderbuffers", "n < 0"); | |
| 426 return; | |
| 427 } | |
| 428 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 429 GetIdHandler(id_namespaces::kRenderbuffers)-> | |
| 430 MakeIds(this, 0, n, renderbuffers); | |
| 431 helper_->GenRenderbuffersImmediate(n, renderbuffers); | |
| 432 GPU_CLIENT_LOG_CODE_BLOCK({ | |
| 433 for (GLsizei i = 0; i < n; ++i) { | |
| 434 GPU_CLIENT_LOG(" " << i << ": " << renderbuffers[i]); | |
| 435 } | |
| 436 }); | |
| 437 } | |
| 438 | |
| 439 void GenTextures(GLsizei n, GLuint* textures) { | |
| 440 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenTextures(" << n << ", " << sta
tic_cast<const void*>(textures) << ")"); // NOLINT | |
| 441 if (n < 0) { | |
| 442 SetGLError(GL_INVALID_VALUE, "glGenTextures", "n < 0"); | |
| 443 return; | |
| 444 } | |
| 445 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 446 GetIdHandler(id_namespaces::kTextures)-> | |
| 447 MakeIds(this, 0, n, textures); | |
| 448 helper_->GenTexturesImmediate(n, textures); | |
| 449 GPU_CLIENT_LOG_CODE_BLOCK({ | |
| 450 for (GLsizei i = 0; i < n; ++i) { | |
| 451 GPU_CLIENT_LOG(" " << i << ": " << textures[i]); | |
| 452 } | |
| 453 }); | |
| 454 } | |
| 455 | |
| 456 void GetActiveAttrib( | |
| 457 GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, | 146 GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, |
| 458 GLenum* type, char* name); | 147 GLenum* type, char* name) OVERRIDE; |
| 459 | 148 |
| 460 void GetActiveUniform( | 149 virtual void GetActiveUniform( |
| 461 GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, | 150 GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, |
| 462 GLenum* type, char* name); | 151 GLenum* type, char* name) OVERRIDE; |
| 463 | 152 |
| 464 void GetAttachedShaders( | 153 virtual void GetAttachedShaders( |
| 465 GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders); | 154 GLuint program, GLsizei maxcount, GLsizei* count, |
| 466 | 155 GLuint* shaders) OVERRIDE; |
| 467 GLint GetAttribLocation(GLuint program, const char* name); | 156 |
| 468 | 157 virtual GLint GetAttribLocation(GLuint program, const char* name) OVERRIDE; |
| 469 void GetBooleanv(GLenum pname, GLboolean* params) { | 158 |
| 470 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 159 virtual void GetBooleanv(GLenum pname, GLboolean* params) OVERRIDE; |
| 471 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLboolean, params); | 160 |
| 472 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetBooleanv(" << GLES2Util::GetSt
ringGLState(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLI
NT | 161 virtual void GetBufferParameteriv( |
| 473 if (GetBooleanvHelper(pname, params)) { | 162 GLenum target, GLenum pname, GLint* params) OVERRIDE; |
| 474 return; | 163 |
| 475 } | 164 virtual GLenum GetError() OVERRIDE; |
| 476 typedef GetBooleanv::Result Result; | 165 |
| 477 Result* result = GetResultAs<Result*>(); | 166 virtual void GetFloatv(GLenum pname, GLfloat* params) OVERRIDE; |
| 478 if (!result) { | 167 |
| 479 return; | 168 virtual void GetFramebufferAttachmentParameteriv( |
| 480 } | 169 GLenum target, GLenum attachment, GLenum pname, GLint* params) OVERRIDE; |
| 481 result->SetNumResults(0); | 170 |
| 482 helper_->GetBooleanv(pname, | 171 virtual void GetIntegerv(GLenum pname, GLint* params) OVERRIDE; |
| 483 GetResultShmId(), GetResultShmOffset()); | 172 |
| 484 WaitForCmd(); | 173 virtual void GetProgramiv( |
| 485 result->CopyResult(params); | 174 GLuint program, GLenum pname, GLint* params) OVERRIDE; |
| 486 GPU_CLIENT_LOG_CODE_BLOCK({ | 175 |
| 487 for (int32 i = 0; i < result->GetNumResults(); ++i) { | 176 virtual void GetProgramInfoLog( |
| 488 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | 177 GLuint program, GLsizei bufsize, GLsizei* length, char* infolog) OVERRIDE; |
| 489 } | 178 |
| 490 }); | 179 virtual void GetRenderbufferParameteriv( |
| 491 } | 180 GLenum target, GLenum pname, GLint* params) OVERRIDE; |
| 492 void GetBufferParameteriv(GLenum target, GLenum pname, GLint* params) { | 181 |
| 493 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 182 virtual void GetShaderiv(GLuint shader, GLenum pname, GLint* params) OVERRIDE; |
| 494 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); | 183 |
| 495 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetBufferParameteriv(" << GLES2Ut
il::GetStringBufferTarget(target) << ", " << GLES2Util::GetStringBufferParameter
(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT | 184 virtual void GetShaderInfoLog( |
| 496 if (GetBufferParameterivHelper(target, pname, params)) { | 185 GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog) OVERRIDE; |
| 497 return; | 186 |
| 498 } | 187 virtual void GetShaderPrecisionFormat( |
| 499 typedef GetBufferParameteriv::Result Result; | 188 GLenum shadertype, GLenum precisiontype, GLint* range, |
| 500 Result* result = GetResultAs<Result*>(); | 189 GLint* precision) OVERRIDE; |
| 501 if (!result) { | 190 |
| 502 return; | 191 virtual void GetShaderSource( |
| 503 } | 192 GLuint shader, GLsizei bufsize, GLsizei* length, char* source) OVERRIDE; |
| 504 result->SetNumResults(0); | 193 |
| 505 helper_->GetBufferParameteriv(target, pname, | 194 virtual const GLubyte* GetString(GLenum name) OVERRIDE; |
| 506 GetResultShmId(), GetResultShmOffset()); | 195 |
| 507 WaitForCmd(); | 196 virtual void GetTexParameterfv( |
| 508 result->CopyResult(params); | 197 GLenum target, GLenum pname, GLfloat* params) OVERRIDE; |
| 509 GPU_CLIENT_LOG_CODE_BLOCK({ | 198 |
| 510 for (int32 i = 0; i < result->GetNumResults(); ++i) { | 199 virtual void GetTexParameteriv( |
| 511 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | 200 GLenum target, GLenum pname, GLint* params) OVERRIDE; |
| 512 } | 201 |
| 513 }); | 202 virtual void GetUniformfv( |
| 514 } | 203 GLuint program, GLint location, GLfloat* params) OVERRIDE; |
| 515 GLenum GetError(); | 204 |
| 516 | 205 virtual void GetUniformiv( |
| 517 void GetFloatv(GLenum pname, GLfloat* params) { | 206 GLuint program, GLint location, GLint* params) OVERRIDE; |
| 518 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 207 |
| 519 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetFloatv(" << GLES2Util::GetStri
ngGLState(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT | 208 virtual GLint GetUniformLocation(GLuint program, const char* name) OVERRIDE; |
| 520 if (GetFloatvHelper(pname, params)) { | 209 |
| 521 return; | 210 virtual void GetVertexAttribPointerv( |
| 522 } | 211 GLuint index, GLenum pname, void** pointer) OVERRIDE; |
| 523 typedef GetFloatv::Result Result; | 212 |
| 524 Result* result = GetResultAs<Result*>(); | 213 virtual void Hint(GLenum target, GLenum mode) OVERRIDE; |
| 525 if (!result) { | 214 |
| 526 return; | 215 virtual GLboolean IsBuffer(GLuint buffer) OVERRIDE; |
| 527 } | 216 |
| 528 result->SetNumResults(0); | 217 virtual GLboolean IsEnabled(GLenum cap) OVERRIDE; |
| 529 helper_->GetFloatv(pname, | 218 |
| 530 GetResultShmId(), GetResultShmOffset()); | 219 virtual GLboolean IsFramebuffer(GLuint framebuffer) OVERRIDE; |
| 531 WaitForCmd(); | 220 |
| 532 result->CopyResult(params); | 221 virtual GLboolean IsProgram(GLuint program) OVERRIDE; |
| 533 GPU_CLIENT_LOG_CODE_BLOCK({ | 222 |
| 534 for (int32 i = 0; i < result->GetNumResults(); ++i) { | 223 virtual GLboolean IsRenderbuffer(GLuint renderbuffer) OVERRIDE; |
| 535 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | 224 |
| 536 } | 225 virtual GLboolean IsShader(GLuint shader) OVERRIDE; |
| 537 }); | 226 |
| 538 } | 227 virtual GLboolean IsTexture(GLuint texture) OVERRIDE; |
| 539 void GetFramebufferAttachmentParameteriv( | 228 |
| 540 GLenum target, GLenum attachment, GLenum pname, GLint* params) { | 229 virtual void LineWidth(GLfloat width) OVERRIDE; |
| 541 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 230 |
| 542 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); | 231 virtual void LinkProgram(GLuint program) OVERRIDE; |
| 543 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetFramebufferAttachmentParameter
iv(" << GLES2Util::GetStringFrameBufferTarget(target) << ", " << GLES2Util::GetS
tringAttachment(attachment) << ", " << GLES2Util::GetStringFrameBufferParameter(
pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT | 232 |
| 544 if (GetFramebufferAttachmentParameterivHelper( | 233 virtual void PixelStorei(GLenum pname, GLint param) OVERRIDE; |
| 545 target, attachment, pname, params)) { | 234 |
| 546 return; | 235 virtual void PolygonOffset(GLfloat factor, GLfloat units) OVERRIDE; |
| 547 } | 236 |
| 548 typedef GetFramebufferAttachmentParameteriv::Result Result; | 237 virtual void ReadPixels( |
| 549 Result* result = GetResultAs<Result*>(); | |
| 550 if (!result) { | |
| 551 return; | |
| 552 } | |
| 553 result->SetNumResults(0); | |
| 554 helper_->GetFramebufferAttachmentParameteriv(target, attachment, pname, | |
| 555 GetResultShmId(), GetResultShmOffset()); | |
| 556 WaitForCmd(); | |
| 557 result->CopyResult(params); | |
| 558 GPU_CLIENT_LOG_CODE_BLOCK({ | |
| 559 for (int32 i = 0; i < result->GetNumResults(); ++i) { | |
| 560 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | |
| 561 } | |
| 562 }); | |
| 563 } | |
| 564 void GetIntegerv(GLenum pname, GLint* params) { | |
| 565 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 566 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); | |
| 567 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetIntegerv(" << GLES2Util::GetSt
ringGLState(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLI
NT | |
| 568 if (GetIntegervHelper(pname, params)) { | |
| 569 return; | |
| 570 } | |
| 571 typedef GetIntegerv::Result Result; | |
| 572 Result* result = GetResultAs<Result*>(); | |
| 573 if (!result) { | |
| 574 return; | |
| 575 } | |
| 576 result->SetNumResults(0); | |
| 577 helper_->GetIntegerv(pname, | |
| 578 GetResultShmId(), GetResultShmOffset()); | |
| 579 WaitForCmd(); | |
| 580 result->CopyResult(params); | |
| 581 GPU_CLIENT_LOG_CODE_BLOCK({ | |
| 582 for (int32 i = 0; i < result->GetNumResults(); ++i) { | |
| 583 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | |
| 584 } | |
| 585 }); | |
| 586 } | |
| 587 void GetProgramiv(GLuint program, GLenum pname, GLint* params) { | |
| 588 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 589 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); | |
| 590 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetProgramiv(" << program << ", "
<< GLES2Util::GetStringProgramParameter(pname) << ", " << static_cast<const voi
d*>(params) << ")"); // NOLINT | |
| 591 if (GetProgramivHelper(program, pname, params)) { | |
| 592 return; | |
| 593 } | |
| 594 typedef GetProgramiv::Result Result; | |
| 595 Result* result = GetResultAs<Result*>(); | |
| 596 if (!result) { | |
| 597 return; | |
| 598 } | |
| 599 result->SetNumResults(0); | |
| 600 helper_->GetProgramiv(program, pname, | |
| 601 GetResultShmId(), GetResultShmOffset()); | |
| 602 WaitForCmd(); | |
| 603 result->CopyResult(params); | |
| 604 GPU_CLIENT_LOG_CODE_BLOCK({ | |
| 605 for (int32 i = 0; i < result->GetNumResults(); ++i) { | |
| 606 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | |
| 607 } | |
| 608 }); | |
| 609 } | |
| 610 void GetProgramInfoLog( | |
| 611 GLuint program, GLsizei bufsize, GLsizei* length, char* infolog) { | |
| 612 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 613 GPU_CLIENT_VALIDATE_DESTINATION_OPTIONAL_INITALIZATION(GLsizei, length); | |
| 614 GPU_CLIENT_LOG("[" << GetLogPrefix() | |
| 615 << "] glGetProgramInfoLog" << "(" | |
| 616 << program << ", " | |
| 617 << bufsize << ", " | |
| 618 << static_cast<void*>(length) << ", " | |
| 619 << static_cast<void*>(infolog) << ")"); | |
| 620 helper_->SetBucketSize(kResultBucketId, 0); | |
| 621 helper_->GetProgramInfoLog(program, kResultBucketId); | |
| 622 std::string str; | |
| 623 GLsizei max_size = 0; | |
| 624 if (GetBucketAsString(kResultBucketId, &str)) { | |
| 625 if (bufsize > 0) { | |
| 626 max_size = | |
| 627 std::min(static_cast<size_t>(bufsize) - 1, str.size()); | |
| 628 memcpy(infolog, str.c_str(), max_size); | |
| 629 infolog[max_size] = '\0'; | |
| 630 GPU_CLIENT_LOG("------\n" << infolog << "\n------"); | |
| 631 } | |
| 632 } | |
| 633 if (length != NULL) { | |
| 634 *length = max_size; | |
| 635 } | |
| 636 } | |
| 637 void GetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params) { | |
| 638 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 639 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); | |
| 640 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetRenderbufferParameteriv(" << G
LES2Util::GetStringRenderBufferTarget(target) << ", " << GLES2Util::GetStringRen
derBufferParameter(pname) << ", " << static_cast<const void*>(params) << ")");
// NOLINT | |
| 641 if (GetRenderbufferParameterivHelper(target, pname, params)) { | |
| 642 return; | |
| 643 } | |
| 644 typedef GetRenderbufferParameteriv::Result Result; | |
| 645 Result* result = GetResultAs<Result*>(); | |
| 646 if (!result) { | |
| 647 return; | |
| 648 } | |
| 649 result->SetNumResults(0); | |
| 650 helper_->GetRenderbufferParameteriv(target, pname, | |
| 651 GetResultShmId(), GetResultShmOffset()); | |
| 652 WaitForCmd(); | |
| 653 result->CopyResult(params); | |
| 654 GPU_CLIENT_LOG_CODE_BLOCK({ | |
| 655 for (int32 i = 0; i < result->GetNumResults(); ++i) { | |
| 656 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | |
| 657 } | |
| 658 }); | |
| 659 } | |
| 660 void GetShaderiv(GLuint shader, GLenum pname, GLint* params) { | |
| 661 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 662 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); | |
| 663 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetShaderiv(" << shader << ", " <
< GLES2Util::GetStringShaderParameter(pname) << ", " << static_cast<const void*>
(params) << ")"); // NOLINT | |
| 664 if (GetShaderivHelper(shader, pname, params)) { | |
| 665 return; | |
| 666 } | |
| 667 typedef GetShaderiv::Result Result; | |
| 668 Result* result = GetResultAs<Result*>(); | |
| 669 if (!result) { | |
| 670 return; | |
| 671 } | |
| 672 result->SetNumResults(0); | |
| 673 helper_->GetShaderiv(shader, pname, | |
| 674 GetResultShmId(), GetResultShmOffset()); | |
| 675 WaitForCmd(); | |
| 676 result->CopyResult(params); | |
| 677 GPU_CLIENT_LOG_CODE_BLOCK({ | |
| 678 for (int32 i = 0; i < result->GetNumResults(); ++i) { | |
| 679 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | |
| 680 } | |
| 681 }); | |
| 682 } | |
| 683 void GetShaderInfoLog( | |
| 684 GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog) { | |
| 685 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 686 GPU_CLIENT_VALIDATE_DESTINATION_OPTIONAL_INITALIZATION(GLsizei, length); | |
| 687 GPU_CLIENT_LOG("[" << GetLogPrefix() | |
| 688 << "] glGetShaderInfoLog" << "(" | |
| 689 << shader << ", " | |
| 690 << bufsize << ", " | |
| 691 << static_cast<void*>(length) << ", " | |
| 692 << static_cast<void*>(infolog) << ")"); | |
| 693 helper_->SetBucketSize(kResultBucketId, 0); | |
| 694 helper_->GetShaderInfoLog(shader, kResultBucketId); | |
| 695 std::string str; | |
| 696 GLsizei max_size = 0; | |
| 697 if (GetBucketAsString(kResultBucketId, &str)) { | |
| 698 if (bufsize > 0) { | |
| 699 max_size = | |
| 700 std::min(static_cast<size_t>(bufsize) - 1, str.size()); | |
| 701 memcpy(infolog, str.c_str(), max_size); | |
| 702 infolog[max_size] = '\0'; | |
| 703 GPU_CLIENT_LOG("------\n" << infolog << "\n------"); | |
| 704 } | |
| 705 } | |
| 706 if (length != NULL) { | |
| 707 *length = max_size; | |
| 708 } | |
| 709 } | |
| 710 void GetShaderPrecisionFormat( | |
| 711 GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision); | |
| 712 | |
| 713 void GetShaderSource( | |
| 714 GLuint shader, GLsizei bufsize, GLsizei* length, char* source) { | |
| 715 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 716 GPU_CLIENT_VALIDATE_DESTINATION_OPTIONAL_INITALIZATION(GLsizei, length); | |
| 717 GPU_CLIENT_LOG("[" << GetLogPrefix() | |
| 718 << "] glGetShaderSource" << "(" | |
| 719 << shader << ", " | |
| 720 << bufsize << ", " | |
| 721 << static_cast<void*>(length) << ", " | |
| 722 << static_cast<void*>(source) << ")"); | |
| 723 helper_->SetBucketSize(kResultBucketId, 0); | |
| 724 helper_->GetShaderSource(shader, kResultBucketId); | |
| 725 std::string str; | |
| 726 GLsizei max_size = 0; | |
| 727 if (GetBucketAsString(kResultBucketId, &str)) { | |
| 728 if (bufsize > 0) { | |
| 729 max_size = | |
| 730 std::min(static_cast<size_t>(bufsize) - 1, str.size()); | |
| 731 memcpy(source, str.c_str(), max_size); | |
| 732 source[max_size] = '\0'; | |
| 733 GPU_CLIENT_LOG("------\n" << source << "\n------"); | |
| 734 } | |
| 735 } | |
| 736 if (length != NULL) { | |
| 737 *length = max_size; | |
| 738 } | |
| 739 } | |
| 740 const GLubyte* GetString(GLenum name); | |
| 741 | |
| 742 void GetTexParameterfv(GLenum target, GLenum pname, GLfloat* params) { | |
| 743 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 744 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetTexParameterfv(" << GLES2Util:
:GetStringGetTexParamTarget(target) << ", " << GLES2Util::GetStringTextureParame
ter(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT | |
| 745 if (GetTexParameterfvHelper(target, pname, params)) { | |
| 746 return; | |
| 747 } | |
| 748 typedef GetTexParameterfv::Result Result; | |
| 749 Result* result = GetResultAs<Result*>(); | |
| 750 if (!result) { | |
| 751 return; | |
| 752 } | |
| 753 result->SetNumResults(0); | |
| 754 helper_->GetTexParameterfv(target, pname, | |
| 755 GetResultShmId(), GetResultShmOffset()); | |
| 756 WaitForCmd(); | |
| 757 result->CopyResult(params); | |
| 758 GPU_CLIENT_LOG_CODE_BLOCK({ | |
| 759 for (int32 i = 0; i < result->GetNumResults(); ++i) { | |
| 760 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | |
| 761 } | |
| 762 }); | |
| 763 } | |
| 764 void GetTexParameteriv(GLenum target, GLenum pname, GLint* params) { | |
| 765 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 766 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); | |
| 767 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetTexParameteriv(" << GLES2Util:
:GetStringGetTexParamTarget(target) << ", " << GLES2Util::GetStringTextureParame
ter(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT | |
| 768 if (GetTexParameterivHelper(target, pname, params)) { | |
| 769 return; | |
| 770 } | |
| 771 typedef GetTexParameteriv::Result Result; | |
| 772 Result* result = GetResultAs<Result*>(); | |
| 773 if (!result) { | |
| 774 return; | |
| 775 } | |
| 776 result->SetNumResults(0); | |
| 777 helper_->GetTexParameteriv(target, pname, | |
| 778 GetResultShmId(), GetResultShmOffset()); | |
| 779 WaitForCmd(); | |
| 780 result->CopyResult(params); | |
| 781 GPU_CLIENT_LOG_CODE_BLOCK({ | |
| 782 for (int32 i = 0; i < result->GetNumResults(); ++i) { | |
| 783 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | |
| 784 } | |
| 785 }); | |
| 786 } | |
| 787 void GetUniformfv(GLuint program, GLint location, GLfloat* params); | |
| 788 | |
| 789 void GetUniformiv(GLuint program, GLint location, GLint* params); | |
| 790 | |
| 791 GLint GetUniformLocation(GLuint program, const char* name); | |
| 792 | |
| 793 void GetVertexAttribPointerv(GLuint index, GLenum pname, void** pointer); | |
| 794 | |
| 795 void Hint(GLenum target, GLenum mode) { | |
| 796 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 797 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glHint(" << GLES2Util::GetStringHin
tTarget(target) << ", " << GLES2Util::GetStringHintMode(mode) << ")"); // NOLIN
T | |
| 798 helper_->Hint(target, mode); | |
| 799 } | |
| 800 | |
| 801 GLboolean IsBuffer(GLuint buffer) { | |
| 802 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 803 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glIsBuffer(" << buffer << ")"); | |
| 804 typedef IsBuffer::Result Result; | |
| 805 Result* result = GetResultAs<Result*>(); | |
| 806 if (!result) { | |
| 807 return GL_FALSE; | |
| 808 } | |
| 809 *result = 0; | |
| 810 helper_->IsBuffer(buffer, GetResultShmId(), GetResultShmOffset()); | |
| 811 WaitForCmd(); | |
| 812 GPU_CLIENT_LOG("returned " << *result); | |
| 813 return *result; | |
| 814 } | |
| 815 | |
| 816 GLboolean IsEnabled(GLenum cap); | |
| 817 | |
| 818 GLboolean IsFramebuffer(GLuint framebuffer) { | |
| 819 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 820 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glIsFramebuffer(" << framebuffer <<
")"); // NOLINT | |
| 821 typedef IsFramebuffer::Result Result; | |
| 822 Result* result = GetResultAs<Result*>(); | |
| 823 if (!result) { | |
| 824 return GL_FALSE; | |
| 825 } | |
| 826 *result = 0; | |
| 827 helper_->IsFramebuffer(framebuffer, GetResultShmId(), GetResultShmOffset()); | |
| 828 WaitForCmd(); | |
| 829 GPU_CLIENT_LOG("returned " << *result); | |
| 830 return *result; | |
| 831 } | |
| 832 | |
| 833 GLboolean IsProgram(GLuint program) { | |
| 834 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 835 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glIsProgram(" << program << ")"); | |
| 836 typedef IsProgram::Result Result; | |
| 837 Result* result = GetResultAs<Result*>(); | |
| 838 if (!result) { | |
| 839 return GL_FALSE; | |
| 840 } | |
| 841 *result = 0; | |
| 842 helper_->IsProgram(program, GetResultShmId(), GetResultShmOffset()); | |
| 843 WaitForCmd(); | |
| 844 GPU_CLIENT_LOG("returned " << *result); | |
| 845 return *result; | |
| 846 } | |
| 847 | |
| 848 GLboolean IsRenderbuffer(GLuint renderbuffer) { | |
| 849 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 850 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glIsRenderbuffer(" << renderbuffer
<< ")"); // NOLINT | |
| 851 typedef IsRenderbuffer::Result Result; | |
| 852 Result* result = GetResultAs<Result*>(); | |
| 853 if (!result) { | |
| 854 return GL_FALSE; | |
| 855 } | |
| 856 *result = 0; | |
| 857 helper_->IsRenderbuffer( | |
| 858 renderbuffer, GetResultShmId(), GetResultShmOffset()); | |
| 859 WaitForCmd(); | |
| 860 GPU_CLIENT_LOG("returned " << *result); | |
| 861 return *result; | |
| 862 } | |
| 863 | |
| 864 GLboolean IsShader(GLuint shader) { | |
| 865 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 866 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glIsShader(" << shader << ")"); | |
| 867 typedef IsShader::Result Result; | |
| 868 Result* result = GetResultAs<Result*>(); | |
| 869 if (!result) { | |
| 870 return GL_FALSE; | |
| 871 } | |
| 872 *result = 0; | |
| 873 helper_->IsShader(shader, GetResultShmId(), GetResultShmOffset()); | |
| 874 WaitForCmd(); | |
| 875 GPU_CLIENT_LOG("returned " << *result); | |
| 876 return *result; | |
| 877 } | |
| 878 | |
| 879 GLboolean IsTexture(GLuint texture) { | |
| 880 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 881 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glIsTexture(" << texture << ")"); | |
| 882 typedef IsTexture::Result Result; | |
| 883 Result* result = GetResultAs<Result*>(); | |
| 884 if (!result) { | |
| 885 return GL_FALSE; | |
| 886 } | |
| 887 *result = 0; | |
| 888 helper_->IsTexture(texture, GetResultShmId(), GetResultShmOffset()); | |
| 889 WaitForCmd(); | |
| 890 GPU_CLIENT_LOG("returned " << *result); | |
| 891 return *result; | |
| 892 } | |
| 893 | |
| 894 void LineWidth(GLfloat width) { | |
| 895 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 896 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glLineWidth(" << width << ")"); | |
| 897 helper_->LineWidth(width); | |
| 898 } | |
| 899 | |
| 900 void LinkProgram(GLuint program); | |
| 901 | |
| 902 void PixelStorei(GLenum pname, GLint param); | |
| 903 | |
| 904 void PolygonOffset(GLfloat factor, GLfloat units) { | |
| 905 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 906 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glPolygonOffset(" << factor << ", "
<< units << ")"); // NOLINT | |
| 907 helper_->PolygonOffset(factor, units); | |
| 908 } | |
| 909 | |
| 910 void ReadPixels( | |
| 911 GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, | 238 GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, |
| 912 void* pixels); | 239 void* pixels) OVERRIDE; |
| 913 | 240 |
| 914 void ReleaseShaderCompiler() { | 241 virtual void ReleaseShaderCompiler() OVERRIDE; |
| 915 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 242 |
| 916 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glReleaseShaderCompiler(" << ")"); | 243 virtual void RenderbufferStorage( |
| 917 helper_->ReleaseShaderCompiler(); | 244 GLenum target, GLenum internalformat, GLsizei width, |
| 918 } | 245 GLsizei height) OVERRIDE; |
| 919 | 246 |
| 920 void RenderbufferStorage( | 247 virtual void SampleCoverage(GLclampf value, GLboolean invert) OVERRIDE; |
| 921 GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { | 248 |
| 922 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 249 virtual void Scissor(GLint x, GLint y, GLsizei width, GLsizei height) OVERRIDE; |
| 923 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glRenderbufferStorage(" << GLES2Uti
l::GetStringRenderBufferTarget(target) << ", " << GLES2Util::GetStringRenderBuff
erFormat(internalformat) << ", " << width << ", " << height << ")"); // NOLINT | 250 |
| 924 if (width < 0) { | 251 virtual void ShaderBinary( |
| 925 SetGLError(GL_INVALID_VALUE, "glRenderbufferStorage", "width < 0"); | |
| 926 return; | |
| 927 } | |
| 928 if (height < 0) { | |
| 929 SetGLError(GL_INVALID_VALUE, "glRenderbufferStorage", "height < 0"); | |
| 930 return; | |
| 931 } | |
| 932 helper_->RenderbufferStorage(target, internalformat, width, height); | |
| 933 } | |
| 934 | |
| 935 void SampleCoverage(GLclampf value, GLboolean invert) { | |
| 936 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 937 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glSampleCoverage(" << value << ", "
<< GLES2Util::GetStringBool(invert) << ")"); // NOLINT | |
| 938 helper_->SampleCoverage(value, invert); | |
| 939 } | |
| 940 | |
| 941 void Scissor(GLint x, GLint y, GLsizei width, GLsizei height) { | |
| 942 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 943 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glScissor(" << x << ", " << y << ",
" << width << ", " << height << ")"); // NOLINT | |
| 944 if (width < 0) { | |
| 945 SetGLError(GL_INVALID_VALUE, "glScissor", "width < 0"); | |
| 946 return; | |
| 947 } | |
| 948 if (height < 0) { | |
| 949 SetGLError(GL_INVALID_VALUE, "glScissor", "height < 0"); | |
| 950 return; | |
| 951 } | |
| 952 helper_->Scissor(x, y, width, height); | |
| 953 } | |
| 954 | |
| 955 void ShaderBinary( | |
| 956 GLsizei n, const GLuint* shaders, GLenum binaryformat, const void* binary, | 252 GLsizei n, const GLuint* shaders, GLenum binaryformat, const void* binary, |
| 957 GLsizei length); | 253 GLsizei length) OVERRIDE; |
| 958 | 254 |
| 959 void ShaderSource( | 255 virtual void ShaderSource( |
| 960 GLuint shader, GLsizei count, const char** str, const GLint* length); | 256 GLuint shader, GLsizei count, const char** str, |
| 961 | 257 const GLint* length) OVERRIDE; |
| 962 void StencilFunc(GLenum func, GLint ref, GLuint mask) { | 258 |
| 963 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 259 virtual void StencilFunc(GLenum func, GLint ref, GLuint mask) OVERRIDE; |
| 964 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilFunc(" << GLES2Util::GetSt
ringCmpFunction(func) << ", " << ref << ", " << mask << ")"); // NOLINT | 260 |
| 965 helper_->StencilFunc(func, ref, mask); | 261 virtual void StencilFuncSeparate( |
| 966 } | 262 GLenum face, GLenum func, GLint ref, GLuint mask) OVERRIDE; |
| 967 | 263 |
| 968 void StencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { | 264 virtual void StencilMask(GLuint mask) OVERRIDE; |
| 969 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 265 |
| 970 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilFuncSeparate(" << GLES2Uti
l::GetStringFaceType(face) << ", " << GLES2Util::GetStringCmpFunction(func) << "
, " << ref << ", " << mask << ")"); // NOLINT | 266 virtual void StencilMaskSeparate(GLenum face, GLuint mask) OVERRIDE; |
| 971 helper_->StencilFuncSeparate(face, func, ref, mask); | 267 |
| 972 } | 268 virtual void StencilOp(GLenum fail, GLenum zfail, GLenum zpass) OVERRIDE; |
| 973 | 269 |
| 974 void StencilMask(GLuint mask) { | 270 virtual void StencilOpSeparate( |
| 975 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 271 GLenum face, GLenum fail, GLenum zfail, GLenum zpass) OVERRIDE; |
| 976 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilMask(" << mask << ")"); | 272 |
| 977 helper_->StencilMask(mask); | 273 virtual void TexImage2D( |
| 978 } | |
| 979 | |
| 980 void StencilMaskSeparate(GLenum face, GLuint mask) { | |
| 981 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 982 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilMaskSeparate(" << GLES2Uti
l::GetStringFaceType(face) << ", " << mask << ")"); // NOLINT | |
| 983 helper_->StencilMaskSeparate(face, mask); | |
| 984 } | |
| 985 | |
| 986 void StencilOp(GLenum fail, GLenum zfail, GLenum zpass) { | |
| 987 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 988 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilOp(" << GLES2Util::GetStri
ngStencilOp(fail) << ", " << GLES2Util::GetStringStencilOp(zfail) << ", " << GLE
S2Util::GetStringStencilOp(zpass) << ")"); // NOLINT | |
| 989 helper_->StencilOp(fail, zfail, zpass); | |
| 990 } | |
| 991 | |
| 992 void StencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass) { | |
| 993 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 994 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilOpSeparate(" << GLES2Util:
:GetStringFaceType(face) << ", " << GLES2Util::GetStringStencilOp(fail) << ", "
<< GLES2Util::GetStringStencilOp(zfail) << ", " << GLES2Util::GetStringStencilOp
(zpass) << ")"); // NOLINT | |
| 995 helper_->StencilOpSeparate(face, fail, zfail, zpass); | |
| 996 } | |
| 997 | |
| 998 void TexImage2D( | |
| 999 GLenum target, GLint level, GLint internalformat, GLsizei width, | 274 GLenum target, GLint level, GLint internalformat, GLsizei width, |
| 1000 GLsizei height, GLint border, GLenum format, GLenum type, | 275 GLsizei height, GLint border, GLenum format, GLenum type, |
| 1001 const void* pixels); | 276 const void* pixels) OVERRIDE; |
| 1002 | 277 |
| 1003 void TexParameterf(GLenum target, GLenum pname, GLfloat param) { | 278 virtual void TexParameterf( |
| 1004 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 279 GLenum target, GLenum pname, GLfloat param) OVERRIDE; |
| 1005 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTexParameterf(" << GLES2Util::Get
StringTextureBindTarget(target) << ", " << GLES2Util::GetStringTextureParameter(
pname) << ", " << param << ")"); // NOLINT | 280 |
| 1006 helper_->TexParameterf(target, pname, param); | 281 virtual void TexParameterfv( |
| 1007 } | 282 GLenum target, GLenum pname, const GLfloat* params) OVERRIDE; |
| 1008 | 283 |
| 1009 void TexParameterfv(GLenum target, GLenum pname, const GLfloat* params) { | 284 virtual void TexParameteri(GLenum target, GLenum pname, GLint param) OVERRIDE; |
| 1010 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 285 |
| 1011 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTexParameterfv(" << GLES2Util::Ge
tStringTextureBindTarget(target) << ", " << GLES2Util::GetStringTextureParameter
(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT | 286 virtual void TexParameteriv( |
| 1012 GPU_CLIENT_LOG("values: " << params[0]); | 287 GLenum target, GLenum pname, const GLint* params) OVERRIDE; |
| 1013 helper_->TexParameterfvImmediate(target, pname, params); | 288 |
| 1014 } | 289 virtual void TexSubImage2D( |
| 1015 | |
| 1016 void TexParameteri(GLenum target, GLenum pname, GLint param) { | |
| 1017 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1018 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTexParameteri(" << GLES2Util::Get
StringTextureBindTarget(target) << ", " << GLES2Util::GetStringTextureParameter(
pname) << ", " << param << ")"); // NOLINT | |
| 1019 helper_->TexParameteri(target, pname, param); | |
| 1020 } | |
| 1021 | |
| 1022 void TexParameteriv(GLenum target, GLenum pname, const GLint* params) { | |
| 1023 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1024 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTexParameteriv(" << GLES2Util::Ge
tStringTextureBindTarget(target) << ", " << GLES2Util::GetStringTextureParameter
(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT | |
| 1025 GPU_CLIENT_LOG("values: " << params[0]); | |
| 1026 helper_->TexParameterivImmediate(target, pname, params); | |
| 1027 } | |
| 1028 | |
| 1029 void TexSubImage2D( | |
| 1030 GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, | 290 GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, |
| 1031 GLsizei height, GLenum format, GLenum type, const void* pixels); | 291 GLsizei height, GLenum format, GLenum type, const void* pixels) OVERRIDE; |
| 1032 | 292 |
| 1033 void Uniform1f(GLint location, GLfloat x) { | 293 virtual void Uniform1f(GLint location, GLfloat x) OVERRIDE; |
| 1034 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 294 |
| 1035 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform1f(" << location << ", " <
< x << ")"); // NOLINT | 295 virtual void Uniform1fv( |
| 1036 helper_->Uniform1f(location, x); | 296 GLint location, GLsizei count, const GLfloat* v) OVERRIDE; |
| 1037 } | 297 |
| 1038 | 298 virtual void Uniform1i(GLint location, GLint x) OVERRIDE; |
| 1039 void Uniform1fv(GLint location, GLsizei count, const GLfloat* v) { | 299 |
| 1040 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 300 virtual void Uniform1iv( |
| 1041 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform1fv(" << location << ", "
<< count << ", " << static_cast<const void*>(v) << ")"); // NOLINT | 301 GLint location, GLsizei count, const GLint* v) OVERRIDE; |
| 1042 GPU_CLIENT_LOG_CODE_BLOCK({ | 302 |
| 1043 for (GLsizei i = 0; i < count; ++i) { | 303 virtual void Uniform2f(GLint location, GLfloat x, GLfloat y) OVERRIDE; |
| 1044 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 1]); | 304 |
| 1045 } | 305 virtual void Uniform2fv( |
| 1046 }); | 306 GLint location, GLsizei count, const GLfloat* v) OVERRIDE; |
| 1047 if (count < 0) { | 307 |
| 1048 SetGLError(GL_INVALID_VALUE, "glUniform1fv", "count < 0"); | 308 virtual void Uniform2i(GLint location, GLint x, GLint y) OVERRIDE; |
| 1049 return; | 309 |
| 1050 } | 310 virtual void Uniform2iv( |
| 1051 helper_->Uniform1fvImmediate(location, count, v); | 311 GLint location, GLsizei count, const GLint* v) OVERRIDE; |
| 1052 } | 312 |
| 1053 | 313 virtual void Uniform3f( |
| 1054 void Uniform1i(GLint location, GLint x) { | 314 GLint location, GLfloat x, GLfloat y, GLfloat z) OVERRIDE; |
| 1055 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 315 |
| 1056 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform1i(" << location << ", " <
< x << ")"); // NOLINT | 316 virtual void Uniform3fv( |
| 1057 helper_->Uniform1i(location, x); | 317 GLint location, GLsizei count, const GLfloat* v) OVERRIDE; |
| 1058 } | 318 |
| 1059 | 319 virtual void Uniform3i(GLint location, GLint x, GLint y, GLint z) OVERRIDE; |
| 1060 void Uniform1iv(GLint location, GLsizei count, const GLint* v) { | 320 |
| 1061 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 321 virtual void Uniform3iv( |
| 1062 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform1iv(" << location << ", "
<< count << ", " << static_cast<const void*>(v) << ")"); // NOLINT | 322 GLint location, GLsizei count, const GLint* v) OVERRIDE; |
| 1063 GPU_CLIENT_LOG_CODE_BLOCK({ | 323 |
| 1064 for (GLsizei i = 0; i < count; ++i) { | 324 virtual void Uniform4f( |
| 1065 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 1]); | 325 GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) OVERRIDE; |
| 1066 } | 326 |
| 1067 }); | 327 virtual void Uniform4fv( |
| 1068 if (count < 0) { | 328 GLint location, GLsizei count, const GLfloat* v) OVERRIDE; |
| 1069 SetGLError(GL_INVALID_VALUE, "glUniform1iv", "count < 0"); | 329 |
| 1070 return; | 330 virtual void Uniform4i( |
| 1071 } | 331 GLint location, GLint x, GLint y, GLint z, GLint w) OVERRIDE; |
| 1072 helper_->Uniform1ivImmediate(location, count, v); | 332 |
| 1073 } | 333 virtual void Uniform4iv( |
| 1074 | 334 GLint location, GLsizei count, const GLint* v) OVERRIDE; |
| 1075 void Uniform2f(GLint location, GLfloat x, GLfloat y) { | 335 |
| 1076 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 336 virtual void UniformMatrix2fv( |
| 1077 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform2f(" << location << ", " <
< x << ", " << y << ")"); // NOLINT | 337 GLint location, GLsizei count, GLboolean transpose, |
| 1078 helper_->Uniform2f(location, x, y); | 338 const GLfloat* value) OVERRIDE; |
| 1079 } | 339 |
| 1080 | 340 virtual void UniformMatrix3fv( |
| 1081 void Uniform2fv(GLint location, GLsizei count, const GLfloat* v) { | 341 GLint location, GLsizei count, GLboolean transpose, |
| 1082 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 342 const GLfloat* value) OVERRIDE; |
| 1083 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform2fv(" << location << ", "
<< count << ", " << static_cast<const void*>(v) << ")"); // NOLINT | 343 |
| 1084 GPU_CLIENT_LOG_CODE_BLOCK({ | 344 virtual void UniformMatrix4fv( |
| 1085 for (GLsizei i = 0; i < count; ++i) { | 345 GLint location, GLsizei count, GLboolean transpose, |
| 1086 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 2] << ", " << v[1 + i * 2])
; // NOLINT | 346 const GLfloat* value) OVERRIDE; |
| 1087 } | 347 |
| 1088 }); | 348 virtual void UseProgram(GLuint program) OVERRIDE; |
| 1089 if (count < 0) { | 349 |
| 1090 SetGLError(GL_INVALID_VALUE, "glUniform2fv", "count < 0"); | 350 virtual void ValidateProgram(GLuint program) OVERRIDE; |
| 1091 return; | 351 |
| 1092 } | 352 virtual void VertexAttrib1f(GLuint indx, GLfloat x) OVERRIDE; |
| 1093 helper_->Uniform2fvImmediate(location, count, v); | 353 |
| 1094 } | 354 virtual void VertexAttrib1fv(GLuint indx, const GLfloat* values) OVERRIDE; |
| 1095 | 355 |
| 1096 void Uniform2i(GLint location, GLint x, GLint y) { | 356 virtual void VertexAttrib2f(GLuint indx, GLfloat x, GLfloat y) OVERRIDE; |
| 1097 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 357 |
| 1098 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform2i(" << location << ", " <
< x << ", " << y << ")"); // NOLINT | 358 virtual void VertexAttrib2fv(GLuint indx, const GLfloat* values) OVERRIDE; |
| 1099 helper_->Uniform2i(location, x, y); | 359 |
| 1100 } | 360 virtual void VertexAttrib3f( |
| 1101 | 361 GLuint indx, GLfloat x, GLfloat y, GLfloat z) OVERRIDE; |
| 1102 void Uniform2iv(GLint location, GLsizei count, const GLint* v) { | 362 |
| 1103 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 363 virtual void VertexAttrib3fv(GLuint indx, const GLfloat* values) OVERRIDE; |
| 1104 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform2iv(" << location << ", "
<< count << ", " << static_cast<const void*>(v) << ")"); // NOLINT | 364 |
| 1105 GPU_CLIENT_LOG_CODE_BLOCK({ | 365 virtual void VertexAttrib4f( |
| 1106 for (GLsizei i = 0; i < count; ++i) { | 366 GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w) OVERRIDE; |
| 1107 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 2] << ", " << v[1 + i * 2])
; // NOLINT | 367 |
| 1108 } | 368 virtual void VertexAttrib4fv(GLuint indx, const GLfloat* values) OVERRIDE; |
| 1109 }); | 369 |
| 1110 if (count < 0) { | 370 virtual void VertexAttribPointer( |
| 1111 SetGLError(GL_INVALID_VALUE, "glUniform2iv", "count < 0"); | |
| 1112 return; | |
| 1113 } | |
| 1114 helper_->Uniform2ivImmediate(location, count, v); | |
| 1115 } | |
| 1116 | |
| 1117 void Uniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z) { | |
| 1118 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1119 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform3f(" << location << ", " <
< x << ", " << y << ", " << z << ")"); // NOLINT | |
| 1120 helper_->Uniform3f(location, x, y, z); | |
| 1121 } | |
| 1122 | |
| 1123 void Uniform3fv(GLint location, GLsizei count, const GLfloat* v) { | |
| 1124 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1125 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform3fv(" << location << ", "
<< count << ", " << static_cast<const void*>(v) << ")"); // NOLINT | |
| 1126 GPU_CLIENT_LOG_CODE_BLOCK({ | |
| 1127 for (GLsizei i = 0; i < count; ++i) { | |
| 1128 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 3] << ", " << v[1 + i * 3]
<< ", " << v[2 + i * 3]); // NOLINT | |
| 1129 } | |
| 1130 }); | |
| 1131 if (count < 0) { | |
| 1132 SetGLError(GL_INVALID_VALUE, "glUniform3fv", "count < 0"); | |
| 1133 return; | |
| 1134 } | |
| 1135 helper_->Uniform3fvImmediate(location, count, v); | |
| 1136 } | |
| 1137 | |
| 1138 void Uniform3i(GLint location, GLint x, GLint y, GLint z) { | |
| 1139 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1140 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform3i(" << location << ", " <
< x << ", " << y << ", " << z << ")"); // NOLINT | |
| 1141 helper_->Uniform3i(location, x, y, z); | |
| 1142 } | |
| 1143 | |
| 1144 void Uniform3iv(GLint location, GLsizei count, const GLint* v) { | |
| 1145 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1146 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform3iv(" << location << ", "
<< count << ", " << static_cast<const void*>(v) << ")"); // NOLINT | |
| 1147 GPU_CLIENT_LOG_CODE_BLOCK({ | |
| 1148 for (GLsizei i = 0; i < count; ++i) { | |
| 1149 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 3] << ", " << v[1 + i * 3]
<< ", " << v[2 + i * 3]); // NOLINT | |
| 1150 } | |
| 1151 }); | |
| 1152 if (count < 0) { | |
| 1153 SetGLError(GL_INVALID_VALUE, "glUniform3iv", "count < 0"); | |
| 1154 return; | |
| 1155 } | |
| 1156 helper_->Uniform3ivImmediate(location, count, v); | |
| 1157 } | |
| 1158 | |
| 1159 void Uniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { | |
| 1160 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1161 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform4f(" << location << ", " <
< x << ", " << y << ", " << z << ", " << w << ")"); // NOLINT | |
| 1162 helper_->Uniform4f(location, x, y, z, w); | |
| 1163 } | |
| 1164 | |
| 1165 void Uniform4fv(GLint location, GLsizei count, const GLfloat* v) { | |
| 1166 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1167 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform4fv(" << location << ", "
<< count << ", " << static_cast<const void*>(v) << ")"); // NOLINT | |
| 1168 GPU_CLIENT_LOG_CODE_BLOCK({ | |
| 1169 for (GLsizei i = 0; i < count; ++i) { | |
| 1170 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 4] << ", " << v[1 + i * 4]
<< ", " << v[2 + i * 4] << ", " << v[3 + i * 4]); // NOLINT | |
| 1171 } | |
| 1172 }); | |
| 1173 if (count < 0) { | |
| 1174 SetGLError(GL_INVALID_VALUE, "glUniform4fv", "count < 0"); | |
| 1175 return; | |
| 1176 } | |
| 1177 helper_->Uniform4fvImmediate(location, count, v); | |
| 1178 } | |
| 1179 | |
| 1180 void Uniform4i(GLint location, GLint x, GLint y, GLint z, GLint w) { | |
| 1181 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1182 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform4i(" << location << ", " <
< x << ", " << y << ", " << z << ", " << w << ")"); // NOLINT | |
| 1183 helper_->Uniform4i(location, x, y, z, w); | |
| 1184 } | |
| 1185 | |
| 1186 void Uniform4iv(GLint location, GLsizei count, const GLint* v) { | |
| 1187 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1188 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform4iv(" << location << ", "
<< count << ", " << static_cast<const void*>(v) << ")"); // NOLINT | |
| 1189 GPU_CLIENT_LOG_CODE_BLOCK({ | |
| 1190 for (GLsizei i = 0; i < count; ++i) { | |
| 1191 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 4] << ", " << v[1 + i * 4]
<< ", " << v[2 + i * 4] << ", " << v[3 + i * 4]); // NOLINT | |
| 1192 } | |
| 1193 }); | |
| 1194 if (count < 0) { | |
| 1195 SetGLError(GL_INVALID_VALUE, "glUniform4iv", "count < 0"); | |
| 1196 return; | |
| 1197 } | |
| 1198 helper_->Uniform4ivImmediate(location, count, v); | |
| 1199 } | |
| 1200 | |
| 1201 void UniformMatrix2fv( | |
| 1202 GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { | |
| 1203 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1204 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniformMatrix2fv(" << location <<
", " << count << ", " << GLES2Util::GetStringBool(transpose) << ", " << static_
cast<const void*>(value) << ")"); // NOLINT | |
| 1205 GPU_CLIENT_LOG_CODE_BLOCK({ | |
| 1206 for (GLsizei i = 0; i < count; ++i) { | |
| 1207 GPU_CLIENT_LOG(" " << i << ": " << value[0 + i * 4] << ", " << value[1 +
i * 4] << ", " << value[2 + i * 4] << ", " << value[3 + i * 4]); // NOLINT | |
| 1208 } | |
| 1209 }); | |
| 1210 if (count < 0) { | |
| 1211 SetGLError(GL_INVALID_VALUE, "glUniformMatrix2fv", "count < 0"); | |
| 1212 return; | |
| 1213 } | |
| 1214 helper_->UniformMatrix2fvImmediate(location, count, transpose, value); | |
| 1215 } | |
| 1216 | |
| 1217 void UniformMatrix3fv( | |
| 1218 GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { | |
| 1219 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1220 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniformMatrix3fv(" << location <<
", " << count << ", " << GLES2Util::GetStringBool(transpose) << ", " << static_
cast<const void*>(value) << ")"); // NOLINT | |
| 1221 GPU_CLIENT_LOG_CODE_BLOCK({ | |
| 1222 for (GLsizei i = 0; i < count; ++i) { | |
| 1223 GPU_CLIENT_LOG(" " << i << ": " << value[0 + i * 9] << ", " << value[1 +
i * 9] << ", " << value[2 + i * 9] << ", " << value[3 + i * 9] << ", " << value
[4 + i * 9] << ", " << value[5 + i * 9] << ", " << value[6 + i * 9] << ", " << v
alue[7 + i * 9] << ", " << value[8 + i * 9]); // NOLINT | |
| 1224 } | |
| 1225 }); | |
| 1226 if (count < 0) { | |
| 1227 SetGLError(GL_INVALID_VALUE, "glUniformMatrix3fv", "count < 0"); | |
| 1228 return; | |
| 1229 } | |
| 1230 helper_->UniformMatrix3fvImmediate(location, count, transpose, value); | |
| 1231 } | |
| 1232 | |
| 1233 void UniformMatrix4fv( | |
| 1234 GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { | |
| 1235 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1236 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniformMatrix4fv(" << location <<
", " << count << ", " << GLES2Util::GetStringBool(transpose) << ", " << static_
cast<const void*>(value) << ")"); // NOLINT | |
| 1237 GPU_CLIENT_LOG_CODE_BLOCK({ | |
| 1238 for (GLsizei i = 0; i < count; ++i) { | |
| 1239 GPU_CLIENT_LOG(" " << i << ": " << value[0 + i * 16] << ", " << value[1
+ i * 16] << ", " << value[2 + i * 16] << ", " << value[3 + i * 16] << ", " << v
alue[4 + i * 16] << ", " << value[5 + i * 16] << ", " << value[6 + i * 16] << ",
" << value[7 + i * 16] << ", " << value[8 + i * 16] << ", " << value[9 + i * 16
] << ", " << value[10 + i * 16] << ", " << value[11 + i * 16] << ", " << value[1
2 + i * 16] << ", " << value[13 + i * 16] << ", " << value[14 + i * 16] << ", "
<< value[15 + i * 16]); // NOLINT | |
| 1240 } | |
| 1241 }); | |
| 1242 if (count < 0) { | |
| 1243 SetGLError(GL_INVALID_VALUE, "glUniformMatrix4fv", "count < 0"); | |
| 1244 return; | |
| 1245 } | |
| 1246 helper_->UniformMatrix4fvImmediate(location, count, transpose, value); | |
| 1247 } | |
| 1248 | |
| 1249 void UseProgram(GLuint program) { | |
| 1250 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1251 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUseProgram(" << program << ")"); | |
| 1252 helper_->UseProgram(program); | |
| 1253 } | |
| 1254 | |
| 1255 void ValidateProgram(GLuint program) { | |
| 1256 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1257 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glValidateProgram(" << program << "
)"); // NOLINT | |
| 1258 helper_->ValidateProgram(program); | |
| 1259 } | |
| 1260 | |
| 1261 void VertexAttrib1f(GLuint indx, GLfloat x) { | |
| 1262 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1263 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib1f(" << indx << ", "
<< x << ")"); // NOLINT | |
| 1264 helper_->VertexAttrib1f(indx, x); | |
| 1265 } | |
| 1266 | |
| 1267 void VertexAttrib1fv(GLuint indx, const GLfloat* values) { | |
| 1268 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1269 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib1fv(" << indx << ", "
<< static_cast<const void*>(values) << ")"); // NOLINT | |
| 1270 GPU_CLIENT_LOG("values: " << values[0]); | |
| 1271 helper_->VertexAttrib1fvImmediate(indx, values); | |
| 1272 } | |
| 1273 | |
| 1274 void VertexAttrib2f(GLuint indx, GLfloat x, GLfloat y) { | |
| 1275 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1276 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib2f(" << indx << ", "
<< x << ", " << y << ")"); // NOLINT | |
| 1277 helper_->VertexAttrib2f(indx, x, y); | |
| 1278 } | |
| 1279 | |
| 1280 void VertexAttrib2fv(GLuint indx, const GLfloat* values) { | |
| 1281 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1282 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib2fv(" << indx << ", "
<< static_cast<const void*>(values) << ")"); // NOLINT | |
| 1283 GPU_CLIENT_LOG("values: " << values[0] << ", " << values[1]); | |
| 1284 helper_->VertexAttrib2fvImmediate(indx, values); | |
| 1285 } | |
| 1286 | |
| 1287 void VertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z) { | |
| 1288 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1289 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib3f(" << indx << ", "
<< x << ", " << y << ", " << z << ")"); // NOLINT | |
| 1290 helper_->VertexAttrib3f(indx, x, y, z); | |
| 1291 } | |
| 1292 | |
| 1293 void VertexAttrib3fv(GLuint indx, const GLfloat* values) { | |
| 1294 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1295 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib3fv(" << indx << ", "
<< static_cast<const void*>(values) << ")"); // NOLINT | |
| 1296 GPU_CLIENT_LOG("values: " << values[0] << ", " << values[1] << ", " << values[
2]); // NOLINT | |
| 1297 helper_->VertexAttrib3fvImmediate(indx, values); | |
| 1298 } | |
| 1299 | |
| 1300 void VertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { | |
| 1301 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1302 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib4f(" << indx << ", "
<< x << ", " << y << ", " << z << ", " << w << ")"); // NOLINT | |
| 1303 helper_->VertexAttrib4f(indx, x, y, z, w); | |
| 1304 } | |
| 1305 | |
| 1306 void VertexAttrib4fv(GLuint indx, const GLfloat* values) { | |
| 1307 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1308 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib4fv(" << indx << ", "
<< static_cast<const void*>(values) << ")"); // NOLINT | |
| 1309 GPU_CLIENT_LOG("values: " << values[0] << ", " << values[1] << ", " << values[
2] << ", " << values[3]); // NOLINT | |
| 1310 helper_->VertexAttrib4fvImmediate(indx, values); | |
| 1311 } | |
| 1312 | |
| 1313 void VertexAttribPointer( | |
| 1314 GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, | 371 GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, |
| 1315 const void* ptr); | 372 const void* ptr) OVERRIDE; |
| 1316 | 373 |
| 1317 void Viewport(GLint x, GLint y, GLsizei width, GLsizei height) { | 374 virtual void Viewport( |
| 1318 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 375 GLint x, GLint y, GLsizei width, GLsizei height) OVERRIDE; |
| 1319 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glViewport(" << x << ", " << y << "
, " << width << ", " << height << ")"); // NOLINT | 376 |
| 1320 if (width < 0) { | 377 virtual void BlitFramebufferEXT( |
| 1321 SetGLError(GL_INVALID_VALUE, "glViewport", "width < 0"); | |
| 1322 return; | |
| 1323 } | |
| 1324 if (height < 0) { | |
| 1325 SetGLError(GL_INVALID_VALUE, "glViewport", "height < 0"); | |
| 1326 return; | |
| 1327 } | |
| 1328 helper_->Viewport(x, y, width, height); | |
| 1329 } | |
| 1330 | |
| 1331 void BlitFramebufferEXT( | |
| 1332 GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, | 378 GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, |
| 1333 GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { | 379 GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, |
| 1334 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 380 GLenum filter) OVERRIDE; |
| 1335 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlitFramebufferEXT(" << srcX0 <<
", " << srcY0 << ", " << srcX1 << ", " << srcY1 << ", " << dstX0 << ", " << dstY
0 << ", " << dstX1 << ", " << dstY1 << ", " << mask << ", " << GLES2Util::GetStr
ingBlitFilter(filter) << ")"); // NOLINT | 381 |
| 1336 helper_->BlitFramebufferEXT( | 382 virtual void RenderbufferStorageMultisampleEXT( |
| 1337 srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); | |
| 1338 } | |
| 1339 | |
| 1340 void RenderbufferStorageMultisampleEXT( | |
| 1341 GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, | 383 GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, |
| 1342 GLsizei height) { | 384 GLsizei height) OVERRIDE; |
| 1343 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 385 |
| 1344 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glRenderbufferStorageMultisampleEXT
(" << GLES2Util::GetStringRenderBufferTarget(target) << ", " << samples << ", "
<< GLES2Util::GetStringRenderBufferFormat(internalformat) << ", " << width << ",
" << height << ")"); // NOLINT | 386 virtual void TexStorage2DEXT( |
| 1345 if (samples < 0) { | |
| 1346 SetGLError( | |
| 1347 GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT", "samples < 0"); | |
| 1348 return; | |
| 1349 } | |
| 1350 if (width < 0) { | |
| 1351 SetGLError( | |
| 1352 GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT", "width < 0"); | |
| 1353 return; | |
| 1354 } | |
| 1355 if (height < 0) { | |
| 1356 SetGLError( | |
| 1357 GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT", "height < 0"); | |
| 1358 return; | |
| 1359 } | |
| 1360 helper_->RenderbufferStorageMultisampleEXT( | |
| 1361 target, samples, internalformat, width, height); | |
| 1362 } | |
| 1363 | |
| 1364 void TexStorage2DEXT( | |
| 1365 GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, | 387 GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, |
| 1366 GLsizei height) { | 388 GLsizei height) OVERRIDE; |
| 1367 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 389 |
| 1368 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTexStorage2DEXT(" << GLES2Util::G
etStringTextureTarget(target) << ", " << levels << ", " << GLES2Util::GetStringT
extureInternalFormatStorage(internalFormat) << ", " << width << ", " << height <
< ")"); // NOLINT | 390 virtual void GenQueriesEXT(GLsizei n, GLuint* queries) OVERRIDE; |
| 1369 if (levels < 0) { | 391 |
| 1370 SetGLError(GL_INVALID_VALUE, "glTexStorage2DEXT", "levels < 0"); | 392 virtual void DeleteQueriesEXT(GLsizei n, const GLuint* queries) OVERRIDE; |
| 1371 return; | 393 |
| 1372 } | 394 virtual GLboolean IsQueryEXT(GLuint id) OVERRIDE; |
| 1373 if (width < 0) { | 395 |
| 1374 SetGLError(GL_INVALID_VALUE, "glTexStorage2DEXT", "width < 0"); | 396 virtual void BeginQueryEXT(GLenum target, GLuint id) OVERRIDE; |
| 1375 return; | 397 |
| 1376 } | 398 virtual void EndQueryEXT(GLenum target) OVERRIDE; |
| 1377 if (height < 0) { | 399 |
| 1378 SetGLError(GL_INVALID_VALUE, "glTexStorage2DEXT", "height < 0"); | 400 virtual void GetQueryivEXT( |
| 1379 return; | 401 GLenum target, GLenum pname, GLint* params) OVERRIDE; |
| 1380 } | 402 |
| 1381 helper_->TexStorage2DEXT(target, levels, internalFormat, width, height); | 403 virtual void GetQueryObjectuivEXT( |
| 1382 } | 404 GLuint id, GLenum pname, GLuint* params) OVERRIDE; |
| 1383 | 405 |
| 1384 void GenQueriesEXT(GLsizei n, GLuint* queries) { | 406 virtual void InsertEventMarkerEXT( |
| 1385 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenQueriesEXT(" << n << ", " << s
tatic_cast<const void*>(queries) << ")"); // NOLINT | 407 GLsizei length, const GLchar* marker) OVERRIDE; |
| 1386 if (n < 0) { | 408 |
| 1387 SetGLError(GL_INVALID_VALUE, "glGenQueriesEXT", "n < 0"); | 409 virtual void PushGroupMarkerEXT(GLsizei length, const GLchar* marker) OVERRIDE; |
| 1388 return; | 410 |
| 1389 } | 411 virtual void PopGroupMarkerEXT() OVERRIDE; |
| 1390 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 412 |
| 1391 GetIdHandler(id_namespaces::kQueries)-> | 413 virtual void GenVertexArraysOES(GLsizei n, GLuint* arrays) OVERRIDE; |
| 1392 MakeIds(this, 0, n, queries); | 414 |
| 1393 helper_->GenQueriesEXTImmediate(n, queries); | 415 virtual void DeleteVertexArraysOES(GLsizei n, const GLuint* arrays) OVERRIDE; |
| 1394 GPU_CLIENT_LOG_CODE_BLOCK({ | 416 |
| 1395 for (GLsizei i = 0; i < n; ++i) { | 417 virtual GLboolean IsVertexArrayOES(GLuint array) OVERRIDE; |
| 1396 GPU_CLIENT_LOG(" " << i << ": " << queries[i]); | 418 |
| 1397 } | 419 virtual void BindVertexArrayOES(GLuint array) OVERRIDE; |
| 1398 }); | 420 |
| 1399 } | 421 virtual void SwapBuffers() OVERRIDE; |
| 1400 | 422 |
| 1401 void DeleteQueriesEXT(GLsizei n, const GLuint* queries) { | 423 virtual GLuint GetMaxValueInBufferCHROMIUM( |
| 1402 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 424 GLuint buffer_id, GLsizei count, GLenum type, GLuint offset) OVERRIDE; |
| 1403 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteQueriesEXT(" << n << ", " <
< static_cast<const void*>(queries) << ")"); // NOLINT | 425 |
| 1404 GPU_CLIENT_LOG_CODE_BLOCK({ | 426 virtual void GenSharedIdsCHROMIUM( |
| 1405 for (GLsizei i = 0; i < n; ++i) { | 427 GLuint namespace_id, GLuint id_offset, GLsizei n, GLuint* ids) OVERRIDE; |
| 1406 GPU_CLIENT_LOG(" " << i << ": " << queries[i]); | 428 |
| 1407 } | 429 virtual void DeleteSharedIdsCHROMIUM( |
| 1408 }); | 430 GLuint namespace_id, GLsizei n, const GLuint* ids) OVERRIDE; |
| 1409 GPU_CLIENT_DCHECK_CODE_BLOCK({ | 431 |
| 1410 for (GLsizei i = 0; i < n; ++i) { | 432 virtual void RegisterSharedIdsCHROMIUM( |
| 1411 GPU_DCHECK(queries[i] != 0); | 433 GLuint namespace_id, GLsizei n, const GLuint* ids) OVERRIDE; |
| 1412 } | 434 |
| 1413 }); | 435 virtual GLboolean EnableFeatureCHROMIUM(const char* feature) OVERRIDE; |
| 1414 if (n < 0) { | 436 |
| 1415 SetGLError(GL_INVALID_VALUE, "glDeleteQueriesEXT", "n < 0"); | 437 virtual void* MapBufferSubDataCHROMIUM( |
| 1416 return; | 438 GLuint target, GLintptr offset, GLsizeiptr size, GLenum access) OVERRIDE; |
| 1417 } | 439 |
| 1418 DeleteQueriesEXTHelper(n, queries); | 440 virtual void UnmapBufferSubDataCHROMIUM(const void* mem) OVERRIDE; |
| 1419 } | 441 |
| 1420 | 442 virtual void* MapTexSubImage2DCHROMIUM( |
| 1421 GLboolean IsQueryEXT(GLuint id); | |
| 1422 | |
| 1423 void BeginQueryEXT(GLenum target, GLuint id); | |
| 1424 | |
| 1425 void EndQueryEXT(GLenum target); | |
| 1426 | |
| 1427 void GetQueryivEXT(GLenum target, GLenum pname, GLint* params); | |
| 1428 | |
| 1429 void GetQueryObjectuivEXT(GLuint id, GLenum pname, GLuint* params); | |
| 1430 | |
| 1431 void InsertEventMarkerEXT(GLsizei length, const GLchar* marker); | |
| 1432 | |
| 1433 void PushGroupMarkerEXT(GLsizei length, const GLchar* marker); | |
| 1434 | |
| 1435 void PopGroupMarkerEXT(); | |
| 1436 | |
| 1437 void GenVertexArraysOES(GLsizei n, GLuint* arrays) { | |
| 1438 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenVertexArraysOES(" << n << ", "
<< static_cast<const void*>(arrays) << ")"); // NOLINT | |
| 1439 if (n < 0) { | |
| 1440 SetGLError(GL_INVALID_VALUE, "glGenVertexArraysOES", "n < 0"); | |
| 1441 return; | |
| 1442 } | |
| 1443 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1444 GetIdHandler(id_namespaces::kVertexArrays)-> | |
| 1445 MakeIds(this, 0, n, arrays); | |
| 1446 helper_->GenVertexArraysOESImmediate(n, arrays); | |
| 1447 GPU_CLIENT_LOG_CODE_BLOCK({ | |
| 1448 for (GLsizei i = 0; i < n; ++i) { | |
| 1449 GPU_CLIENT_LOG(" " << i << ": " << arrays[i]); | |
| 1450 } | |
| 1451 }); | |
| 1452 } | |
| 1453 | |
| 1454 void DeleteVertexArraysOES(GLsizei n, const GLuint* arrays) { | |
| 1455 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1456 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteVertexArraysOES(" << n << "
, " << static_cast<const void*>(arrays) << ")"); // NOLINT | |
| 1457 GPU_CLIENT_LOG_CODE_BLOCK({ | |
| 1458 for (GLsizei i = 0; i < n; ++i) { | |
| 1459 GPU_CLIENT_LOG(" " << i << ": " << arrays[i]); | |
| 1460 } | |
| 1461 }); | |
| 1462 GPU_CLIENT_DCHECK_CODE_BLOCK({ | |
| 1463 for (GLsizei i = 0; i < n; ++i) { | |
| 1464 GPU_DCHECK(arrays[i] != 0); | |
| 1465 } | |
| 1466 }); | |
| 1467 if (n < 0) { | |
| 1468 SetGLError(GL_INVALID_VALUE, "glDeleteVertexArraysOES", "n < 0"); | |
| 1469 return; | |
| 1470 } | |
| 1471 DeleteVertexArraysOESHelper(n, arrays); | |
| 1472 } | |
| 1473 | |
| 1474 GLboolean IsVertexArrayOES(GLuint array) { | |
| 1475 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1476 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glIsVertexArrayOES(" << array << ")
"); // NOLINT | |
| 1477 typedef IsVertexArrayOES::Result Result; | |
| 1478 Result* result = GetResultAs<Result*>(); | |
| 1479 if (!result) { | |
| 1480 return GL_FALSE; | |
| 1481 } | |
| 1482 *result = 0; | |
| 1483 helper_->IsVertexArrayOES(array, GetResultShmId(), GetResultShmOffset()); | |
| 1484 WaitForCmd(); | |
| 1485 GPU_CLIENT_LOG("returned " << *result); | |
| 1486 return *result; | |
| 1487 } | |
| 1488 | |
| 1489 void BindVertexArrayOES(GLuint array) { | |
| 1490 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1491 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindVertexArrayOES(" << array <<
")"); // NOLINT | |
| 1492 if (IsVertexArrayReservedId(array)) { | |
| 1493 SetGLError( | |
| 1494 GL_INVALID_OPERATION, "BindVertexArrayOES", "array reserved id"); | |
| 1495 return; | |
| 1496 } | |
| 1497 BindVertexArrayHelper(array); | |
| 1498 helper_->BindVertexArrayOES(array); | |
| 1499 } | |
| 1500 | |
| 1501 void SwapBuffers(); | |
| 1502 | |
| 1503 GLuint GetMaxValueInBufferCHROMIUM( | |
| 1504 GLuint buffer_id, GLsizei count, GLenum type, GLuint offset); | |
| 1505 | |
| 1506 void GenSharedIdsCHROMIUM( | |
| 1507 GLuint namespace_id, GLuint id_offset, GLsizei n, GLuint* ids); | |
| 1508 | |
| 1509 void DeleteSharedIdsCHROMIUM( | |
| 1510 GLuint namespace_id, GLsizei n, const GLuint* ids); | |
| 1511 | |
| 1512 void RegisterSharedIdsCHROMIUM( | |
| 1513 GLuint namespace_id, GLsizei n, const GLuint* ids); | |
| 1514 | |
| 1515 GLboolean EnableFeatureCHROMIUM(const char* feature); | |
| 1516 | |
| 1517 void* MapBufferSubDataCHROMIUM( | |
| 1518 GLuint target, GLintptr offset, GLsizeiptr size, GLenum access); | |
| 1519 | |
| 1520 void UnmapBufferSubDataCHROMIUM(const void* mem); | |
| 1521 | |
| 1522 void* MapTexSubImage2DCHROMIUM( | |
| 1523 GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, | 443 GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, |
| 1524 GLsizei height, GLenum format, GLenum type, GLenum access); | 444 GLsizei height, GLenum format, GLenum type, GLenum access) OVERRIDE; |
| 1525 | 445 |
| 1526 void UnmapTexSubImage2DCHROMIUM(const void* mem); | 446 virtual void UnmapTexSubImage2DCHROMIUM(const void* mem) OVERRIDE; |
| 1527 | 447 |
| 1528 void ResizeCHROMIUM(GLuint width, GLuint height); | 448 virtual void ResizeCHROMIUM(GLuint width, GLuint height) OVERRIDE; |
| 1529 | 449 |
| 1530 const GLchar* GetRequestableExtensionsCHROMIUM(); | 450 virtual const GLchar* GetRequestableExtensionsCHROMIUM() OVERRIDE; |
| 1531 | 451 |
| 1532 void RequestExtensionCHROMIUM(const char* extension); | 452 virtual void RequestExtensionCHROMIUM(const char* extension) OVERRIDE; |
| 1533 | 453 |
| 1534 void RateLimitOffscreenContextCHROMIUM(); | 454 virtual void RateLimitOffscreenContextCHROMIUM() OVERRIDE; |
| 1535 | 455 |
| 1536 void GetMultipleIntegervCHROMIUM( | 456 virtual void GetMultipleIntegervCHROMIUM( |
| 1537 const GLenum* pnames, GLuint count, GLint* results, GLsizeiptr size); | 457 const GLenum* pnames, GLuint count, GLint* results, |
| 1538 | 458 GLsizeiptr size) OVERRIDE; |
| 1539 void GetProgramInfoCHROMIUM( | 459 |
| 1540 GLuint program, GLsizei bufsize, GLsizei* size, void* info); | 460 virtual void GetProgramInfoCHROMIUM( |
| 1541 | 461 GLuint program, GLsizei bufsize, GLsizei* size, void* info) OVERRIDE; |
| 1542 GLuint CreateStreamTextureCHROMIUM(GLuint texture); | 462 |
| 1543 | 463 virtual GLuint CreateStreamTextureCHROMIUM(GLuint texture) OVERRIDE; |
| 1544 void DestroyStreamTextureCHROMIUM(GLuint texture); | 464 |
| 1545 | 465 virtual void DestroyStreamTextureCHROMIUM(GLuint texture) OVERRIDE; |
| 1546 void GetTranslatedShaderSourceANGLE( | 466 |
| 1547 GLuint shader, GLsizei bufsize, GLsizei* length, char* source) { | 467 virtual void GetTranslatedShaderSourceANGLE( |
| 1548 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 468 GLuint shader, GLsizei bufsize, GLsizei* length, char* source) OVERRIDE; |
| 1549 GPU_CLIENT_VALIDATE_DESTINATION_OPTIONAL_INITALIZATION(GLsizei, length); | 469 |
| 1550 GPU_CLIENT_LOG("[" << GetLogPrefix() | 470 virtual void PostSubBufferCHROMIUM( |
| 1551 << "] glGetTranslatedShaderSourceANGLE" << "(" | 471 GLint x, GLint y, GLint width, GLint height) OVERRIDE; |
| 1552 << shader << ", " | 472 |
| 1553 << bufsize << ", " | 473 virtual void TexImageIOSurface2DCHROMIUM( |
| 1554 << static_cast<void*>(length) << ", " | |
| 1555 << static_cast<void*>(source) << ")"); | |
| 1556 helper_->SetBucketSize(kResultBucketId, 0); | |
| 1557 helper_->GetTranslatedShaderSourceANGLE(shader, kResultBucketId); | |
| 1558 std::string str; | |
| 1559 GLsizei max_size = 0; | |
| 1560 if (GetBucketAsString(kResultBucketId, &str)) { | |
| 1561 if (bufsize > 0) { | |
| 1562 max_size = | |
| 1563 std::min(static_cast<size_t>(bufsize) - 1, str.size()); | |
| 1564 memcpy(source, str.c_str(), max_size); | |
| 1565 source[max_size] = '\0'; | |
| 1566 GPU_CLIENT_LOG("------\n" << source << "\n------"); | |
| 1567 } | |
| 1568 } | |
| 1569 if (length != NULL) { | |
| 1570 *length = max_size; | |
| 1571 } | |
| 1572 } | |
| 1573 void PostSubBufferCHROMIUM(GLint x, GLint y, GLint width, GLint height); | |
| 1574 | |
| 1575 void TexImageIOSurface2DCHROMIUM( | |
| 1576 GLenum target, GLsizei width, GLsizei height, GLuint ioSurfaceId, | 474 GLenum target, GLsizei width, GLsizei height, GLuint ioSurfaceId, |
| 1577 GLuint plane) { | 475 GLuint plane) OVERRIDE; |
| 1578 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 476 |
| 1579 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTexImageIOSurface2DCHROMIUM(" <<
GLES2Util::GetStringTextureBindTarget(target) << ", " << width << ", " << height
<< ", " << ioSurfaceId << ", " << plane << ")"); // NOLINT | 477 virtual void CopyTextureCHROMIUM( |
| 1580 if (width < 0) { | |
| 1581 SetGLError(GL_INVALID_VALUE, "glTexImageIOSurface2DCHROMIUM", "width < 0"); | |
| 1582 return; | |
| 1583 } | |
| 1584 if (height < 0) { | |
| 1585 SetGLError( | |
| 1586 GL_INVALID_VALUE, "glTexImageIOSurface2DCHROMIUM", "height < 0"); | |
| 1587 return; | |
| 1588 } | |
| 1589 helper_->TexImageIOSurface2DCHROMIUM( | |
| 1590 target, width, height, ioSurfaceId, plane); | |
| 1591 } | |
| 1592 | |
| 1593 void CopyTextureCHROMIUM( | |
| 1594 GLenum target, GLenum source_id, GLenum dest_id, GLint level, | 478 GLenum target, GLenum source_id, GLenum dest_id, GLint level, |
| 1595 GLint internalformat) { | 479 GLint internalformat) OVERRIDE; |
| 1596 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 480 |
| 1597 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCopyTextureCHROMIUM(" << GLES2Uti
l::GetStringEnum(target) << ", " << GLES2Util::GetStringEnum(source_id) << ", "
<< GLES2Util::GetStringEnum(dest_id) << ", " << level << ", " << internalformat
<< ")"); // NOLINT | 481 virtual void DrawArraysInstancedANGLE( |
| 1598 helper_->CopyTextureCHROMIUM( | 482 GLenum mode, GLint first, GLsizei count, GLsizei primcount) OVERRIDE; |
| 1599 target, source_id, dest_id, level, internalformat); | 483 |
| 1600 } | 484 virtual void DrawElementsInstancedANGLE( |
| 1601 | |
| 1602 void DrawArraysInstancedANGLE( | |
| 1603 GLenum mode, GLint first, GLsizei count, GLsizei primcount); | |
| 1604 | |
| 1605 void DrawElementsInstancedANGLE( | |
| 1606 GLenum mode, GLsizei count, GLenum type, const void* indices, | 485 GLenum mode, GLsizei count, GLenum type, const void* indices, |
| 1607 GLsizei primcount); | 486 GLsizei primcount) OVERRIDE; |
| 1608 | 487 |
| 1609 void VertexAttribDivisorANGLE(GLuint index, GLuint divisor); | 488 virtual void VertexAttribDivisorANGLE(GLuint index, GLuint divisor) OVERRIDE; |
| 1610 | 489 |
| 1611 void GenMailboxCHROMIUM(GLbyte* mailbox); | 490 virtual void GenMailboxCHROMIUM(GLbyte* mailbox) OVERRIDE; |
| 1612 | 491 |
| 1613 void ProduceTextureCHROMIUM(GLenum target, const GLbyte* mailbox) { | 492 virtual void ProduceTextureCHROMIUM( |
| 1614 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 493 GLenum target, const GLbyte* mailbox) OVERRIDE; |
| 1615 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glProduceTextureCHROMIUM(" << GLES2
Util::GetStringTextureTarget(target) << ", " << static_cast<const void*>(mailbox
) << ")"); // NOLINT | 494 |
| 1616 GPU_CLIENT_LOG("values: " << mailbox[0] << ", " << mailbox[1] << ", " << mailb
ox[2] << ", " << mailbox[3] << ", " << mailbox[4] << ", " << mailbox[5] << ", "
<< mailbox[6] << ", " << mailbox[7] << ", " << mailbox[8] << ", " << mailbox[9]
<< ", " << mailbox[10] << ", " << mailbox[11] << ", " << mailbox[12] << ", " <<
mailbox[13] << ", " << mailbox[14] << ", " << mailbox[15] << ", " << mailbox[16]
<< ", " << mailbox[17] << ", " << mailbox[18] << ", " << mailbox[19] << ", " <<
mailbox[20] << ", " << mailbox[21] << ", " << mailbox[22] << ", " << mailbox[23
] << ", " << mailbox[24] << ", " << mailbox[25] << ", " << mailbox[26] << ", " <
< mailbox[27] << ", " << mailbox[28] << ", " << mailbox[29] << ", " << mailbox[3
0] << ", " << mailbox[31] << ", " << mailbox[32] << ", " << mailbox[33] << ", "
<< mailbox[34] << ", " << mailbox[35] << ", " << mailbox[36] << ", " << mailbox[
37] << ", " << mailbox[38] << ", " << mailbox[39] << ", " << mailbox[40] << ", "
<< mailbox[41] << ", " << mailbox[42] << ", " << mailbox[43] << ", " << mailbox
[44] << ", " << mailbox[45] << ", " << mailbox[46] << ", " << mailbox[47] << ",
" << mailbox[48] << ", " << mailbox[49] << ", " << mailbox[50] << ", " << mailbo
x[51] << ", " << mailbox[52] << ", " << mailbox[53] << ", " << mailbox[54] << ",
" << mailbox[55] << ", " << mailbox[56] << ", " << mailbox[57] << ", " << mailb
ox[58] << ", " << mailbox[59] << ", " << mailbox[60] << ", " << mailbox[61] << "
, " << mailbox[62] << ", " << mailbox[63]); // NOLINT | 495 virtual void ConsumeTextureCHROMIUM( |
| 1617 helper_->ProduceTextureCHROMIUMImmediate(target, mailbox); | 496 GLenum target, const GLbyte* mailbox) OVERRIDE; |
| 1618 } | 497 |
| 1619 | 498 virtual void BindUniformLocationCHROMIUM( |
| 1620 void ConsumeTextureCHROMIUM(GLenum target, const GLbyte* mailbox) { | 499 GLuint program, GLint location, const char* name) OVERRIDE; |
| 1621 GPU_CLIENT_SINGLE_THREAD_CHECK(); | |
| 1622 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glConsumeTextureCHROMIUM(" << GLES2
Util::GetStringTextureTarget(target) << ", " << static_cast<const void*>(mailbox
) << ")"); // NOLINT | |
| 1623 GPU_CLIENT_LOG("values: " << mailbox[0] << ", " << mailbox[1] << ", " << mailb
ox[2] << ", " << mailbox[3] << ", " << mailbox[4] << ", " << mailbox[5] << ", "
<< mailbox[6] << ", " << mailbox[7] << ", " << mailbox[8] << ", " << mailbox[9]
<< ", " << mailbox[10] << ", " << mailbox[11] << ", " << mailbox[12] << ", " <<
mailbox[13] << ", " << mailbox[14] << ", " << mailbox[15] << ", " << mailbox[16]
<< ", " << mailbox[17] << ", " << mailbox[18] << ", " << mailbox[19] << ", " <<
mailbox[20] << ", " << mailbox[21] << ", " << mailbox[22] << ", " << mailbox[23
] << ", " << mailbox[24] << ", " << mailbox[25] << ", " << mailbox[26] << ", " <
< mailbox[27] << ", " << mailbox[28] << ", " << mailbox[29] << ", " << mailbox[3
0] << ", " << mailbox[31] << ", " << mailbox[32] << ", " << mailbox[33] << ", "
<< mailbox[34] << ", " << mailbox[35] << ", " << mailbox[36] << ", " << mailbox[
37] << ", " << mailbox[38] << ", " << mailbox[39] << ", " << mailbox[40] << ", "
<< mailbox[41] << ", " << mailbox[42] << ", " << mailbox[43] << ", " << mailbox
[44] << ", " << mailbox[45] << ", " << mailbox[46] << ", " << mailbox[47] << ",
" << mailbox[48] << ", " << mailbox[49] << ", " << mailbox[50] << ", " << mailbo
x[51] << ", " << mailbox[52] << ", " << mailbox[53] << ", " << mailbox[54] << ",
" << mailbox[55] << ", " << mailbox[56] << ", " << mailbox[57] << ", " << mailb
ox[58] << ", " << mailbox[59] << ", " << mailbox[60] << ", " << mailbox[61] << "
, " << mailbox[62] << ", " << mailbox[63]); // NOLINT | |
| 1624 helper_->ConsumeTextureCHROMIUMImmediate(target, mailbox); | |
| 1625 } | |
| 1626 | |
| 1627 void BindUniformLocationCHROMIUM( | |
| 1628 GLuint program, GLint location, const char* name); | |
| 1629 | 500 |
| 1630 #endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_AUTOGEN_H_ | 501 #endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_AUTOGEN_H_ |
| 1631 | 502 |
| OLD | NEW |