| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 void ActiveTexture(GLenum texture); |
| 15 | 15 |
| 16 void AttachShader(GLuint program, GLuint shader) { | 16 void AttachShader(GLuint program, GLuint shader) { |
| 17 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 17 GPU_CLIENT_LOG("[" << this << "] glAttachShader(" << program << ", " << shader
<< ")"); // NOLINT | 18 GPU_CLIENT_LOG("[" << this << "] glAttachShader(" << program << ", " << shader
<< ")"); // NOLINT |
| 18 helper_->AttachShader(program, shader); | 19 helper_->AttachShader(program, shader); |
| 19 } | 20 } |
| 20 | 21 |
| 21 void BindAttribLocation(GLuint program, GLuint index, const char* name); | 22 void BindAttribLocation(GLuint program, GLuint index, const char* name); |
| 22 | 23 |
| 23 void BindBuffer(GLenum target, GLuint buffer) { | 24 void BindBuffer(GLenum target, GLuint buffer) { |
| 25 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 24 GPU_CLIENT_LOG("[" << this << "] glBindBuffer(" << GLES2Util::GetStringBufferT
arget(target) << ", " << buffer << ")"); // NOLINT | 26 GPU_CLIENT_LOG("[" << this << "] glBindBuffer(" << GLES2Util::GetStringBufferT
arget(target) << ", " << buffer << ")"); // NOLINT |
| 25 if (IsBufferReservedId(buffer)) { | 27 if (IsBufferReservedId(buffer)) { |
| 26 SetGLError(GL_INVALID_OPERATION, "BindBuffer: buffer reserved id"); | 28 SetGLError(GL_INVALID_OPERATION, "BindBuffer: buffer reserved id"); |
| 27 return; | 29 return; |
| 28 } | 30 } |
| 29 BindBufferHelper(target, buffer); | 31 BindBufferHelper(target, buffer); |
| 30 helper_->BindBuffer(target, buffer); | 32 helper_->BindBuffer(target, buffer); |
| 31 } | 33 } |
| 32 | 34 |
| 33 void BindFramebuffer(GLenum target, GLuint framebuffer) { | 35 void BindFramebuffer(GLenum target, GLuint framebuffer) { |
| 36 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 34 GPU_CLIENT_LOG("[" << this << "] glBindFramebuffer(" << GLES2Util::GetStringFr
ameBufferTarget(target) << ", " << framebuffer << ")"); // NOLINT | 37 GPU_CLIENT_LOG("[" << this << "] glBindFramebuffer(" << GLES2Util::GetStringFr
ameBufferTarget(target) << ", " << framebuffer << ")"); // NOLINT |
| 35 if (IsFramebufferReservedId(framebuffer)) { | 38 if (IsFramebufferReservedId(framebuffer)) { |
| 36 SetGLError( | 39 SetGLError( |
| 37 GL_INVALID_OPERATION, "BindFramebuffer: framebuffer reserved id"); | 40 GL_INVALID_OPERATION, "BindFramebuffer: framebuffer reserved id"); |
| 38 return; | 41 return; |
| 39 } | 42 } |
| 40 BindFramebufferHelper(target, framebuffer); | 43 BindFramebufferHelper(target, framebuffer); |
| 41 helper_->BindFramebuffer(target, framebuffer); | 44 helper_->BindFramebuffer(target, framebuffer); |
| 42 } | 45 } |
| 43 | 46 |
| 44 void BindRenderbuffer(GLenum target, GLuint renderbuffer) { | 47 void BindRenderbuffer(GLenum target, GLuint renderbuffer) { |
| 48 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 45 GPU_CLIENT_LOG("[" << this << "] glBindRenderbuffer(" << GLES2Util::GetStringR
enderBufferTarget(target) << ", " << renderbuffer << ")"); // NOLINT | 49 GPU_CLIENT_LOG("[" << this << "] glBindRenderbuffer(" << GLES2Util::GetStringR
enderBufferTarget(target) << ", " << renderbuffer << ")"); // NOLINT |
| 46 if (IsRenderbufferReservedId(renderbuffer)) { | 50 if (IsRenderbufferReservedId(renderbuffer)) { |
| 47 SetGLError( | 51 SetGLError( |
| 48 GL_INVALID_OPERATION, "BindRenderbuffer: renderbuffer reserved id"); | 52 GL_INVALID_OPERATION, "BindRenderbuffer: renderbuffer reserved id"); |
| 49 return; | 53 return; |
| 50 } | 54 } |
| 51 BindRenderbufferHelper(target, renderbuffer); | 55 BindRenderbufferHelper(target, renderbuffer); |
| 52 helper_->BindRenderbuffer(target, renderbuffer); | 56 helper_->BindRenderbuffer(target, renderbuffer); |
| 53 } | 57 } |
| 54 | 58 |
| 55 void BindTexture(GLenum target, GLuint texture) { | 59 void BindTexture(GLenum target, GLuint texture) { |
| 60 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 56 GPU_CLIENT_LOG("[" << this << "] glBindTexture(" << GLES2Util::GetStringTextur
eBindTarget(target) << ", " << texture << ")"); // NOLINT | 61 GPU_CLIENT_LOG("[" << this << "] glBindTexture(" << GLES2Util::GetStringTextur
eBindTarget(target) << ", " << texture << ")"); // NOLINT |
| 57 if (IsTextureReservedId(texture)) { | 62 if (IsTextureReservedId(texture)) { |
| 58 SetGLError(GL_INVALID_OPERATION, "BindTexture: texture reserved id"); | 63 SetGLError(GL_INVALID_OPERATION, "BindTexture: texture reserved id"); |
| 59 return; | 64 return; |
| 60 } | 65 } |
| 61 BindTextureHelper(target, texture); | 66 BindTextureHelper(target, texture); |
| 62 helper_->BindTexture(target, texture); | 67 helper_->BindTexture(target, texture); |
| 63 } | 68 } |
| 64 | 69 |
| 65 void BlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) { | 70 void BlendColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) { |
| 71 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 66 GPU_CLIENT_LOG("[" << this << "] glBlendColor(" << red << ", " << green << ",
" << blue << ", " << alpha << ")"); // NOLINT | 72 GPU_CLIENT_LOG("[" << this << "] glBlendColor(" << red << ", " << green << ",
" << blue << ", " << alpha << ")"); // NOLINT |
| 67 helper_->BlendColor(red, green, blue, alpha); | 73 helper_->BlendColor(red, green, blue, alpha); |
| 68 } | 74 } |
| 69 | 75 |
| 70 void BlendEquation(GLenum mode) { | 76 void BlendEquation(GLenum mode) { |
| 77 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 71 GPU_CLIENT_LOG("[" << this << "] glBlendEquation(" << GLES2Util::GetStringEqua
tion(mode) << ")"); // NOLINT | 78 GPU_CLIENT_LOG("[" << this << "] glBlendEquation(" << GLES2Util::GetStringEqua
tion(mode) << ")"); // NOLINT |
| 72 helper_->BlendEquation(mode); | 79 helper_->BlendEquation(mode); |
| 73 } | 80 } |
| 74 | 81 |
| 75 void BlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { | 82 void BlendEquationSeparate(GLenum modeRGB, GLenum modeAlpha) { |
| 83 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 76 GPU_CLIENT_LOG("[" << this << "] glBlendEquationSeparate(" << GLES2Util::GetSt
ringEquation(modeRGB) << ", " << GLES2Util::GetStringEquation(modeAlpha) << ")")
; // NOLINT | 84 GPU_CLIENT_LOG("[" << this << "] glBlendEquationSeparate(" << GLES2Util::GetSt
ringEquation(modeRGB) << ", " << GLES2Util::GetStringEquation(modeAlpha) << ")")
; // NOLINT |
| 77 helper_->BlendEquationSeparate(modeRGB, modeAlpha); | 85 helper_->BlendEquationSeparate(modeRGB, modeAlpha); |
| 78 } | 86 } |
| 79 | 87 |
| 80 void BlendFunc(GLenum sfactor, GLenum dfactor) { | 88 void BlendFunc(GLenum sfactor, GLenum dfactor) { |
| 89 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 81 GPU_CLIENT_LOG("[" << this << "] glBlendFunc(" << GLES2Util::GetStringSrcBlend
Factor(sfactor) << ", " << GLES2Util::GetStringDstBlendFactor(dfactor) << ")");
// NOLINT | 90 GPU_CLIENT_LOG("[" << this << "] glBlendFunc(" << GLES2Util::GetStringSrcBlend
Factor(sfactor) << ", " << GLES2Util::GetStringDstBlendFactor(dfactor) << ")");
// NOLINT |
| 82 helper_->BlendFunc(sfactor, dfactor); | 91 helper_->BlendFunc(sfactor, dfactor); |
| 83 } | 92 } |
| 84 | 93 |
| 85 void BlendFuncSeparate( | 94 void BlendFuncSeparate( |
| 86 GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { | 95 GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) { |
| 96 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 87 GPU_CLIENT_LOG("[" << this << "] glBlendFuncSeparate(" << GLES2Util::GetString
SrcBlendFactor(srcRGB) << ", " << GLES2Util::GetStringDstBlendFactor(dstRGB) <<
", " << GLES2Util::GetStringSrcBlendFactor(srcAlpha) << ", " << GLES2Util::GetSt
ringDstBlendFactor(dstAlpha) << ")"); // NOLINT | 97 GPU_CLIENT_LOG("[" << this << "] glBlendFuncSeparate(" << GLES2Util::GetString
SrcBlendFactor(srcRGB) << ", " << GLES2Util::GetStringDstBlendFactor(dstRGB) <<
", " << GLES2Util::GetStringSrcBlendFactor(srcAlpha) << ", " << GLES2Util::GetSt
ringDstBlendFactor(dstAlpha) << ")"); // NOLINT |
| 88 helper_->BlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); | 98 helper_->BlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); |
| 89 } | 99 } |
| 90 | 100 |
| 91 void BufferData( | 101 void BufferData( |
| 92 GLenum target, GLsizeiptr size, const void* data, GLenum usage); | 102 GLenum target, GLsizeiptr size, const void* data, GLenum usage); |
| 93 | 103 |
| 94 void BufferSubData( | 104 void BufferSubData( |
| 95 GLenum target, GLintptr offset, GLsizeiptr size, const void* data); | 105 GLenum target, GLintptr offset, GLsizeiptr size, const void* data); |
| 96 | 106 |
| 97 GLenum CheckFramebufferStatus(GLenum target) { | 107 GLenum CheckFramebufferStatus(GLenum target) { |
| 108 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 98 GPU_CLIENT_LOG("[" << this << "] glCheckFramebufferStatus(" << GLES2Util::GetS
tringFrameBufferTarget(target) << ")"); // NOLINT | 109 GPU_CLIENT_LOG("[" << this << "] glCheckFramebufferStatus(" << GLES2Util::GetS
tringFrameBufferTarget(target) << ")"); // NOLINT |
| 99 typedef CheckFramebufferStatus::Result Result; | 110 typedef CheckFramebufferStatus::Result Result; |
| 100 Result* result = GetResultAs<Result*>(); | 111 Result* result = GetResultAs<Result*>(); |
| 101 *result = 0; | 112 *result = 0; |
| 102 helper_->CheckFramebufferStatus( | 113 helper_->CheckFramebufferStatus( |
| 103 target, GetResultShmId(), GetResultShmOffset()); | 114 target, GetResultShmId(), GetResultShmOffset()); |
| 104 WaitForCmd(); | 115 WaitForCmd(); |
| 105 GPU_CLIENT_LOG("returned " << *result); | 116 GPU_CLIENT_LOG("returned " << *result); |
| 106 return *result; | 117 return *result; |
| 107 } | 118 } |
| 108 | 119 |
| 109 void Clear(GLbitfield mask) { | 120 void Clear(GLbitfield mask) { |
| 121 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 110 GPU_CLIENT_LOG("[" << this << "] glClear(" << mask << ")"); | 122 GPU_CLIENT_LOG("[" << this << "] glClear(" << mask << ")"); |
| 111 helper_->Clear(mask); | 123 helper_->Clear(mask); |
| 112 } | 124 } |
| 113 | 125 |
| 114 void ClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) { | 126 void ClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) { |
| 127 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 115 GPU_CLIENT_LOG("[" << this << "] glClearColor(" << red << ", " << green << ",
" << blue << ", " << alpha << ")"); // NOLINT | 128 GPU_CLIENT_LOG("[" << this << "] glClearColor(" << red << ", " << green << ",
" << blue << ", " << alpha << ")"); // NOLINT |
| 116 helper_->ClearColor(red, green, blue, alpha); | 129 helper_->ClearColor(red, green, blue, alpha); |
| 117 } | 130 } |
| 118 | 131 |
| 119 void ClearDepthf(GLclampf depth) { | 132 void ClearDepthf(GLclampf depth) { |
| 133 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 120 GPU_CLIENT_LOG("[" << this << "] glClearDepthf(" << depth << ")"); | 134 GPU_CLIENT_LOG("[" << this << "] glClearDepthf(" << depth << ")"); |
| 121 helper_->ClearDepthf(depth); | 135 helper_->ClearDepthf(depth); |
| 122 } | 136 } |
| 123 | 137 |
| 124 void ClearStencil(GLint s) { | 138 void ClearStencil(GLint s) { |
| 139 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 125 GPU_CLIENT_LOG("[" << this << "] glClearStencil(" << s << ")"); | 140 GPU_CLIENT_LOG("[" << this << "] glClearStencil(" << s << ")"); |
| 126 helper_->ClearStencil(s); | 141 helper_->ClearStencil(s); |
| 127 } | 142 } |
| 128 | 143 |
| 129 void ColorMask( | 144 void ColorMask( |
| 130 GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { | 145 GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha) { |
| 146 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 131 GPU_CLIENT_LOG("[" << this << "] glColorMask(" << GLES2Util::GetStringBool( | 147 GPU_CLIENT_LOG("[" << this << "] glColorMask(" << GLES2Util::GetStringBool( |
| 132 red) << ", " << GLES2Util::GetStringBool( | 148 red) << ", " << GLES2Util::GetStringBool( |
| 133 green) << ", " << GLES2Util::GetStringBool( | 149 green) << ", " << GLES2Util::GetStringBool( |
| 134 blue) << ", " << GLES2Util::GetStringBool(alpha) << ")"); | 150 blue) << ", " << GLES2Util::GetStringBool(alpha) << ")"); |
| 135 helper_->ColorMask(red, green, blue, alpha); | 151 helper_->ColorMask(red, green, blue, alpha); |
| 136 } | 152 } |
| 137 | 153 |
| 138 void CompileShader(GLuint shader) { | 154 void CompileShader(GLuint shader) { |
| 155 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 139 GPU_CLIENT_LOG("[" << this << "] glCompileShader(" << shader << ")"); | 156 GPU_CLIENT_LOG("[" << this << "] glCompileShader(" << shader << ")"); |
| 140 helper_->CompileShader(shader); | 157 helper_->CompileShader(shader); |
| 141 } | 158 } |
| 142 | 159 |
| 143 void CompressedTexImage2D( | 160 void CompressedTexImage2D( |
| 144 GLenum target, GLint level, GLenum internalformat, GLsizei width, | 161 GLenum target, GLint level, GLenum internalformat, GLsizei width, |
| 145 GLsizei height, GLint border, GLsizei imageSize, const void* data); | 162 GLsizei height, GLint border, GLsizei imageSize, const void* data); |
| 146 | 163 |
| 147 void CompressedTexSubImage2D( | 164 void CompressedTexSubImage2D( |
| 148 GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, | 165 GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, |
| 149 GLsizei height, GLenum format, GLsizei imageSize, const void* data); | 166 GLsizei height, GLenum format, GLsizei imageSize, const void* data); |
| 150 | 167 |
| 151 void CopyTexImage2D( | 168 void CopyTexImage2D( |
| 152 GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, | 169 GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, |
| 153 GLsizei width, GLsizei height, GLint border) { | 170 GLsizei width, GLsizei height, GLint border) { |
| 171 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 154 GPU_CLIENT_LOG("[" << this << "] glCopyTexImage2D(" << GLES2Util::GetStringTex
tureTarget(target) << ", " << level << ", " << GLES2Util::GetStringTextureIntern
alFormat(internalformat) << ", " << x << ", " << y << ", " << width << ", " << h
eight << ", " << border << ")"); // NOLINT | 172 GPU_CLIENT_LOG("[" << this << "] glCopyTexImage2D(" << GLES2Util::GetStringTex
tureTarget(target) << ", " << level << ", " << GLES2Util::GetStringTextureIntern
alFormat(internalformat) << ", " << x << ", " << y << ", " << width << ", " << h
eight << ", " << border << ")"); // NOLINT |
| 155 if (width < 0) { | 173 if (width < 0) { |
| 156 SetGLError(GL_INVALID_VALUE, "glCopyTexImage2D: width < 0"); | 174 SetGLError(GL_INVALID_VALUE, "glCopyTexImage2D: width < 0"); |
| 157 return; | 175 return; |
| 158 } | 176 } |
| 159 if (height < 0) { | 177 if (height < 0) { |
| 160 SetGLError(GL_INVALID_VALUE, "glCopyTexImage2D: height < 0"); | 178 SetGLError(GL_INVALID_VALUE, "glCopyTexImage2D: height < 0"); |
| 161 return; | 179 return; |
| 162 } | 180 } |
| 163 helper_->CopyTexImage2D( | 181 helper_->CopyTexImage2D( |
| 164 target, level, internalformat, x, y, width, height, border); | 182 target, level, internalformat, x, y, width, height, border); |
| 165 } | 183 } |
| 166 | 184 |
| 167 void CopyTexSubImage2D( | 185 void CopyTexSubImage2D( |
| 168 GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, | 186 GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, |
| 169 GLsizei width, GLsizei height) { | 187 GLsizei width, GLsizei height) { |
| 188 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 170 GPU_CLIENT_LOG("[" << this << "] glCopyTexSubImage2D(" << GLES2Util::GetString
TextureTarget(target) << ", " << level << ", " << xoffset << ", " << yoffset <<
", " << x << ", " << y << ", " << width << ", " << height << ")"); // NOLINT | 189 GPU_CLIENT_LOG("[" << this << "] glCopyTexSubImage2D(" << GLES2Util::GetString
TextureTarget(target) << ", " << level << ", " << xoffset << ", " << yoffset <<
", " << x << ", " << y << ", " << width << ", " << height << ")"); // NOLINT |
| 171 if (width < 0) { | 190 if (width < 0) { |
| 172 SetGLError(GL_INVALID_VALUE, "glCopyTexSubImage2D: width < 0"); | 191 SetGLError(GL_INVALID_VALUE, "glCopyTexSubImage2D: width < 0"); |
| 173 return; | 192 return; |
| 174 } | 193 } |
| 175 if (height < 0) { | 194 if (height < 0) { |
| 176 SetGLError(GL_INVALID_VALUE, "glCopyTexSubImage2D: height < 0"); | 195 SetGLError(GL_INVALID_VALUE, "glCopyTexSubImage2D: height < 0"); |
| 177 return; | 196 return; |
| 178 } | 197 } |
| 179 helper_->CopyTexSubImage2D( | 198 helper_->CopyTexSubImage2D( |
| 180 target, level, xoffset, yoffset, x, y, width, height); | 199 target, level, xoffset, yoffset, x, y, width, height); |
| 181 } | 200 } |
| 182 | 201 |
| 183 GLuint CreateProgram() { | 202 GLuint CreateProgram() { |
| 203 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 184 GPU_CLIENT_LOG("[" << this << "] glCreateProgram(" << ")"); | 204 GPU_CLIENT_LOG("[" << this << "] glCreateProgram(" << ")"); |
| 185 GLuint client_id; | 205 GLuint client_id; |
| 186 id_handlers_[id_namespaces::kProgramsAndShaders]-> | 206 id_handlers_[id_namespaces::kProgramsAndShaders]-> |
| 187 MakeIds(0, 1, &client_id); | 207 MakeIds(0, 1, &client_id); |
| 188 helper_->CreateProgram(client_id); | 208 helper_->CreateProgram(client_id); |
| 189 GPU_CLIENT_LOG("returned " << client_id); | 209 GPU_CLIENT_LOG("returned " << client_id); |
| 190 return client_id; | 210 return client_id; |
| 191 } | 211 } |
| 192 | 212 |
| 193 GLuint CreateShader(GLenum type) { | 213 GLuint CreateShader(GLenum type) { |
| 214 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 194 GPU_CLIENT_LOG("[" << this << "] glCreateShader(" << GLES2Util::GetStringShade
rType(type) << ")"); // NOLINT | 215 GPU_CLIENT_LOG("[" << this << "] glCreateShader(" << GLES2Util::GetStringShade
rType(type) << ")"); // NOLINT |
| 195 GLuint client_id; | 216 GLuint client_id; |
| 196 id_handlers_[id_namespaces::kProgramsAndShaders]-> | 217 id_handlers_[id_namespaces::kProgramsAndShaders]-> |
| 197 MakeIds(0, 1, &client_id); | 218 MakeIds(0, 1, &client_id); |
| 198 helper_->CreateShader(type, client_id); | 219 helper_->CreateShader(type, client_id); |
| 199 GPU_CLIENT_LOG("returned " << client_id); | 220 GPU_CLIENT_LOG("returned " << client_id); |
| 200 return client_id; | 221 return client_id; |
| 201 } | 222 } |
| 202 | 223 |
| 203 void CullFace(GLenum mode) { | 224 void CullFace(GLenum mode) { |
| 225 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 204 GPU_CLIENT_LOG("[" << this << "] glCullFace(" << GLES2Util::GetStringFaceType( | 226 GPU_CLIENT_LOG("[" << this << "] glCullFace(" << GLES2Util::GetStringFaceType( |
| 205 mode) << ")"); | 227 mode) << ")"); |
| 206 helper_->CullFace(mode); | 228 helper_->CullFace(mode); |
| 207 } | 229 } |
| 208 | 230 |
| 209 void DeleteBuffers(GLsizei n, const GLuint* buffers) { | 231 void DeleteBuffers(GLsizei n, const GLuint* buffers) { |
| 232 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 210 GPU_CLIENT_LOG("[" << this << "] glDeleteBuffers(" << n << ", " << static_cast
<const void*>(buffers) << ")"); // NOLINT | 233 GPU_CLIENT_LOG("[" << this << "] glDeleteBuffers(" << n << ", " << static_cast
<const void*>(buffers) << ")"); // NOLINT |
| 211 GPU_CLIENT_LOG_CODE_BLOCK({ | 234 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 212 for (GLsizei i = 0; i < n; ++i) { | 235 for (GLsizei i = 0; i < n; ++i) { |
| 213 GPU_CLIENT_LOG(" " << i << ": " << buffers[i]); | 236 GPU_CLIENT_LOG(" " << i << ": " << buffers[i]); |
| 214 } | 237 } |
| 215 }); | 238 }); |
| 216 GPU_CLIENT_DCHECK_CODE_BLOCK({ | 239 GPU_CLIENT_DCHECK_CODE_BLOCK({ |
| 217 for (GLsizei i = 0; i < n; ++i) { | 240 for (GLsizei i = 0; i < n; ++i) { |
| 218 GPU_DCHECK(buffers[i] != 0); | 241 GPU_DCHECK(buffers[i] != 0); |
| 219 } | 242 } |
| 220 }); | 243 }); |
| 221 if (n < 0) { | 244 if (n < 0) { |
| 222 SetGLError(GL_INVALID_VALUE, "glDeleteBuffers: n < 0"); | 245 SetGLError(GL_INVALID_VALUE, "glDeleteBuffers: n < 0"); |
| 223 return; | 246 return; |
| 224 } | 247 } |
| 225 DeleteBuffersHelper(n, buffers); | 248 DeleteBuffersHelper(n, buffers); |
| 226 } | 249 } |
| 227 | 250 |
| 228 void DeleteFramebuffers(GLsizei n, const GLuint* framebuffers) { | 251 void DeleteFramebuffers(GLsizei n, const GLuint* framebuffers) { |
| 252 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 229 GPU_CLIENT_LOG("[" << this << "] glDeleteFramebuffers(" << n << ", " << static
_cast<const void*>(framebuffers) << ")"); // NOLINT | 253 GPU_CLIENT_LOG("[" << this << "] glDeleteFramebuffers(" << n << ", " << static
_cast<const void*>(framebuffers) << ")"); // NOLINT |
| 230 GPU_CLIENT_LOG_CODE_BLOCK({ | 254 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 231 for (GLsizei i = 0; i < n; ++i) { | 255 for (GLsizei i = 0; i < n; ++i) { |
| 232 GPU_CLIENT_LOG(" " << i << ": " << framebuffers[i]); | 256 GPU_CLIENT_LOG(" " << i << ": " << framebuffers[i]); |
| 233 } | 257 } |
| 234 }); | 258 }); |
| 235 GPU_CLIENT_DCHECK_CODE_BLOCK({ | 259 GPU_CLIENT_DCHECK_CODE_BLOCK({ |
| 236 for (GLsizei i = 0; i < n; ++i) { | 260 for (GLsizei i = 0; i < n; ++i) { |
| 237 GPU_DCHECK(framebuffers[i] != 0); | 261 GPU_DCHECK(framebuffers[i] != 0); |
| 238 } | 262 } |
| 239 }); | 263 }); |
| 240 if (n < 0) { | 264 if (n < 0) { |
| 241 SetGLError(GL_INVALID_VALUE, "glDeleteFramebuffers: n < 0"); | 265 SetGLError(GL_INVALID_VALUE, "glDeleteFramebuffers: n < 0"); |
| 242 return; | 266 return; |
| 243 } | 267 } |
| 244 DeleteFramebuffersHelper(n, framebuffers); | 268 DeleteFramebuffersHelper(n, framebuffers); |
| 245 } | 269 } |
| 246 | 270 |
| 247 void DeleteProgram(GLuint program) { | 271 void DeleteProgram(GLuint program) { |
| 272 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 248 GPU_CLIENT_LOG("[" << this << "] glDeleteProgram(" << program << ")"); | 273 GPU_CLIENT_LOG("[" << this << "] glDeleteProgram(" << program << ")"); |
| 249 GPU_CLIENT_DCHECK(program != 0); | 274 GPU_CLIENT_DCHECK(program != 0); |
| 250 DeleteProgramHelper(program); | 275 DeleteProgramHelper(program); |
| 251 } | 276 } |
| 252 | 277 |
| 253 void DeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers) { | 278 void DeleteRenderbuffers(GLsizei n, const GLuint* renderbuffers) { |
| 279 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 254 GPU_CLIENT_LOG("[" << this << "] glDeleteRenderbuffers(" << n << ", " << stati
c_cast<const void*>(renderbuffers) << ")"); // NOLINT | 280 GPU_CLIENT_LOG("[" << this << "] glDeleteRenderbuffers(" << n << ", " << stati
c_cast<const void*>(renderbuffers) << ")"); // NOLINT |
| 255 GPU_CLIENT_LOG_CODE_BLOCK({ | 281 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 256 for (GLsizei i = 0; i < n; ++i) { | 282 for (GLsizei i = 0; i < n; ++i) { |
| 257 GPU_CLIENT_LOG(" " << i << ": " << renderbuffers[i]); | 283 GPU_CLIENT_LOG(" " << i << ": " << renderbuffers[i]); |
| 258 } | 284 } |
| 259 }); | 285 }); |
| 260 GPU_CLIENT_DCHECK_CODE_BLOCK({ | 286 GPU_CLIENT_DCHECK_CODE_BLOCK({ |
| 261 for (GLsizei i = 0; i < n; ++i) { | 287 for (GLsizei i = 0; i < n; ++i) { |
| 262 GPU_DCHECK(renderbuffers[i] != 0); | 288 GPU_DCHECK(renderbuffers[i] != 0); |
| 263 } | 289 } |
| 264 }); | 290 }); |
| 265 if (n < 0) { | 291 if (n < 0) { |
| 266 SetGLError(GL_INVALID_VALUE, "glDeleteRenderbuffers: n < 0"); | 292 SetGLError(GL_INVALID_VALUE, "glDeleteRenderbuffers: n < 0"); |
| 267 return; | 293 return; |
| 268 } | 294 } |
| 269 DeleteRenderbuffersHelper(n, renderbuffers); | 295 DeleteRenderbuffersHelper(n, renderbuffers); |
| 270 } | 296 } |
| 271 | 297 |
| 272 void DeleteShader(GLuint shader) { | 298 void DeleteShader(GLuint shader) { |
| 299 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 273 GPU_CLIENT_LOG("[" << this << "] glDeleteShader(" << shader << ")"); | 300 GPU_CLIENT_LOG("[" << this << "] glDeleteShader(" << shader << ")"); |
| 274 GPU_CLIENT_DCHECK(shader != 0); | 301 GPU_CLIENT_DCHECK(shader != 0); |
| 275 DeleteShaderHelper(shader); | 302 DeleteShaderHelper(shader); |
| 276 } | 303 } |
| 277 | 304 |
| 278 void DeleteTextures(GLsizei n, const GLuint* textures) { | 305 void DeleteTextures(GLsizei n, const GLuint* textures) { |
| 306 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 279 GPU_CLIENT_LOG("[" << this << "] glDeleteTextures(" << n << ", " << static_cas
t<const void*>(textures) << ")"); // NOLINT | 307 GPU_CLIENT_LOG("[" << this << "] glDeleteTextures(" << n << ", " << static_cas
t<const void*>(textures) << ")"); // NOLINT |
| 280 GPU_CLIENT_LOG_CODE_BLOCK({ | 308 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 281 for (GLsizei i = 0; i < n; ++i) { | 309 for (GLsizei i = 0; i < n; ++i) { |
| 282 GPU_CLIENT_LOG(" " << i << ": " << textures[i]); | 310 GPU_CLIENT_LOG(" " << i << ": " << textures[i]); |
| 283 } | 311 } |
| 284 }); | 312 }); |
| 285 GPU_CLIENT_DCHECK_CODE_BLOCK({ | 313 GPU_CLIENT_DCHECK_CODE_BLOCK({ |
| 286 for (GLsizei i = 0; i < n; ++i) { | 314 for (GLsizei i = 0; i < n; ++i) { |
| 287 GPU_DCHECK(textures[i] != 0); | 315 GPU_DCHECK(textures[i] != 0); |
| 288 } | 316 } |
| 289 }); | 317 }); |
| 290 if (n < 0) { | 318 if (n < 0) { |
| 291 SetGLError(GL_INVALID_VALUE, "glDeleteTextures: n < 0"); | 319 SetGLError(GL_INVALID_VALUE, "glDeleteTextures: n < 0"); |
| 292 return; | 320 return; |
| 293 } | 321 } |
| 294 DeleteTexturesHelper(n, textures); | 322 DeleteTexturesHelper(n, textures); |
| 295 } | 323 } |
| 296 | 324 |
| 297 void DepthFunc(GLenum func) { | 325 void DepthFunc(GLenum func) { |
| 326 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 298 GPU_CLIENT_LOG("[" << this << "] glDepthFunc(" << GLES2Util::GetStringCmpFunct
ion(func) << ")"); // NOLINT | 327 GPU_CLIENT_LOG("[" << this << "] glDepthFunc(" << GLES2Util::GetStringCmpFunct
ion(func) << ")"); // NOLINT |
| 299 helper_->DepthFunc(func); | 328 helper_->DepthFunc(func); |
| 300 } | 329 } |
| 301 | 330 |
| 302 void DepthMask(GLboolean flag) { | 331 void DepthMask(GLboolean flag) { |
| 332 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 303 GPU_CLIENT_LOG("[" << this << "] glDepthMask(" << GLES2Util::GetStringBool( | 333 GPU_CLIENT_LOG("[" << this << "] glDepthMask(" << GLES2Util::GetStringBool( |
| 304 flag) << ")"); | 334 flag) << ")"); |
| 305 helper_->DepthMask(flag); | 335 helper_->DepthMask(flag); |
| 306 } | 336 } |
| 307 | 337 |
| 308 void DepthRangef(GLclampf zNear, GLclampf zFar) { | 338 void DepthRangef(GLclampf zNear, GLclampf zFar) { |
| 339 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 309 GPU_CLIENT_LOG("[" << this << "] glDepthRangef(" << zNear << ", " << zFar << "
)"); // NOLINT | 340 GPU_CLIENT_LOG("[" << this << "] glDepthRangef(" << zNear << ", " << zFar << "
)"); // NOLINT |
| 310 helper_->DepthRangef(zNear, zFar); | 341 helper_->DepthRangef(zNear, zFar); |
| 311 } | 342 } |
| 312 | 343 |
| 313 void DetachShader(GLuint program, GLuint shader) { | 344 void DetachShader(GLuint program, GLuint shader) { |
| 345 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 314 GPU_CLIENT_LOG("[" << this << "] glDetachShader(" << program << ", " << shader
<< ")"); // NOLINT | 346 GPU_CLIENT_LOG("[" << this << "] glDetachShader(" << program << ", " << shader
<< ")"); // NOLINT |
| 315 helper_->DetachShader(program, shader); | 347 helper_->DetachShader(program, shader); |
| 316 } | 348 } |
| 317 | 349 |
| 318 void Disable(GLenum cap) { | 350 void Disable(GLenum cap) { |
| 351 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 319 GPU_CLIENT_LOG("[" << this << "] glDisable(" << GLES2Util::GetStringCapability
(cap) << ")"); // NOLINT | 352 GPU_CLIENT_LOG("[" << this << "] glDisable(" << GLES2Util::GetStringCapability
(cap) << ")"); // NOLINT |
| 320 helper_->Disable(cap); | 353 helper_->Disable(cap); |
| 321 } | 354 } |
| 322 | 355 |
| 323 void DrawArrays(GLenum mode, GLint first, GLsizei count); | 356 void DrawArrays(GLenum mode, GLint first, GLsizei count); |
| 324 | 357 |
| 325 void DrawElements( | 358 void DrawElements( |
| 326 GLenum mode, GLsizei count, GLenum type, const void* indices); | 359 GLenum mode, GLsizei count, GLenum type, const void* indices); |
| 327 | 360 |
| 328 void Enable(GLenum cap) { | 361 void Enable(GLenum cap) { |
| 362 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 329 GPU_CLIENT_LOG("[" << this << "] glEnable(" << GLES2Util::GetStringCapability( | 363 GPU_CLIENT_LOG("[" << this << "] glEnable(" << GLES2Util::GetStringCapability( |
| 330 cap) << ")"); | 364 cap) << ")"); |
| 331 helper_->Enable(cap); | 365 helper_->Enable(cap); |
| 332 } | 366 } |
| 333 | 367 |
| 334 void Finish(); | 368 void Finish(); |
| 335 | 369 |
| 336 void Flush(); | 370 void Flush(); |
| 337 | 371 |
| 338 void FramebufferRenderbuffer( | 372 void FramebufferRenderbuffer( |
| 339 GLenum target, GLenum attachment, GLenum renderbuffertarget, | 373 GLenum target, GLenum attachment, GLenum renderbuffertarget, |
| 340 GLuint renderbuffer) { | 374 GLuint renderbuffer) { |
| 375 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 341 GPU_CLIENT_LOG("[" << this << "] glFramebufferRenderbuffer(" << GLES2Util::Get
StringFrameBufferTarget(target) << ", " << GLES2Util::GetStringAttachment(attach
ment) << ", " << GLES2Util::GetStringRenderBufferTarget(renderbuffertarget) << "
, " << renderbuffer << ")"); // NOLINT | 376 GPU_CLIENT_LOG("[" << this << "] glFramebufferRenderbuffer(" << GLES2Util::Get
StringFrameBufferTarget(target) << ", " << GLES2Util::GetStringAttachment(attach
ment) << ", " << GLES2Util::GetStringRenderBufferTarget(renderbuffertarget) << "
, " << renderbuffer << ")"); // NOLINT |
| 342 helper_->FramebufferRenderbuffer( | 377 helper_->FramebufferRenderbuffer( |
| 343 target, attachment, renderbuffertarget, renderbuffer); | 378 target, attachment, renderbuffertarget, renderbuffer); |
| 344 } | 379 } |
| 345 | 380 |
| 346 void FramebufferTexture2D( | 381 void FramebufferTexture2D( |
| 347 GLenum target, GLenum attachment, GLenum textarget, GLuint texture, | 382 GLenum target, GLenum attachment, GLenum textarget, GLuint texture, |
| 348 GLint level) { | 383 GLint level) { |
| 384 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 349 GPU_CLIENT_LOG("[" << this << "] glFramebufferTexture2D(" << GLES2Util::GetStr
ingFrameBufferTarget(target) << ", " << GLES2Util::GetStringAttachment(attachmen
t) << ", " << GLES2Util::GetStringTextureTarget(textarget) << ", " << texture <<
", " << level << ")"); // NOLINT | 385 GPU_CLIENT_LOG("[" << this << "] glFramebufferTexture2D(" << GLES2Util::GetStr
ingFrameBufferTarget(target) << ", " << GLES2Util::GetStringAttachment(attachmen
t) << ", " << GLES2Util::GetStringTextureTarget(textarget) << ", " << texture <<
", " << level << ")"); // NOLINT |
| 350 helper_->FramebufferTexture2D(target, attachment, textarget, texture, level); | 386 helper_->FramebufferTexture2D(target, attachment, textarget, texture, level); |
| 351 } | 387 } |
| 352 | 388 |
| 353 void FrontFace(GLenum mode) { | 389 void FrontFace(GLenum mode) { |
| 390 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 354 GPU_CLIENT_LOG("[" << this << "] glFrontFace(" << GLES2Util::GetStringFaceMode
(mode) << ")"); // NOLINT | 391 GPU_CLIENT_LOG("[" << this << "] glFrontFace(" << GLES2Util::GetStringFaceMode
(mode) << ")"); // NOLINT |
| 355 helper_->FrontFace(mode); | 392 helper_->FrontFace(mode); |
| 356 } | 393 } |
| 357 | 394 |
| 358 void GenBuffers(GLsizei n, GLuint* buffers) { | 395 void GenBuffers(GLsizei n, GLuint* buffers) { |
| 359 GPU_CLIENT_LOG("[" << this << "] glGenBuffers(" << n << ", " << static_cast<co
nst void*>(buffers) << ")"); // NOLINT | 396 GPU_CLIENT_LOG("[" << this << "] glGenBuffers(" << n << ", " << static_cast<co
nst void*>(buffers) << ")"); // NOLINT |
| 360 if (n < 0) { | 397 if (n < 0) { |
| 361 SetGLError(GL_INVALID_VALUE, "glGenBuffers: n < 0"); | 398 SetGLError(GL_INVALID_VALUE, "glGenBuffers: n < 0"); |
| 362 return; | 399 return; |
| 363 } | 400 } |
| 401 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 364 id_handlers_[id_namespaces::kBuffers]-> | 402 id_handlers_[id_namespaces::kBuffers]-> |
| 365 MakeIds(0, n, buffers); | 403 MakeIds(0, n, buffers); |
| 366 helper_->GenBuffersImmediate(n, buffers); | 404 helper_->GenBuffersImmediate(n, buffers); |
| 367 GPU_CLIENT_LOG_CODE_BLOCK({ | 405 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 368 for (GLsizei i = 0; i < n; ++i) { | 406 for (GLsizei i = 0; i < n; ++i) { |
| 369 GPU_CLIENT_LOG(" " << i << ": " << buffers[i]); | 407 GPU_CLIENT_LOG(" " << i << ": " << buffers[i]); |
| 370 } | 408 } |
| 371 }); | 409 }); |
| 372 } | 410 } |
| 373 | 411 |
| 374 void GenerateMipmap(GLenum target) { | 412 void GenerateMipmap(GLenum target) { |
| 413 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 375 GPU_CLIENT_LOG("[" << this << "] glGenerateMipmap(" << GLES2Util::GetStringTex
tureBindTarget(target) << ")"); // NOLINT | 414 GPU_CLIENT_LOG("[" << this << "] glGenerateMipmap(" << GLES2Util::GetStringTex
tureBindTarget(target) << ")"); // NOLINT |
| 376 helper_->GenerateMipmap(target); | 415 helper_->GenerateMipmap(target); |
| 377 } | 416 } |
| 378 | 417 |
| 379 void GenFramebuffers(GLsizei n, GLuint* framebuffers) { | 418 void GenFramebuffers(GLsizei n, GLuint* framebuffers) { |
| 380 GPU_CLIENT_LOG("[" << this << "] glGenFramebuffers(" << n << ", " << static_ca
st<const void*>(framebuffers) << ")"); // NOLINT | 419 GPU_CLIENT_LOG("[" << this << "] glGenFramebuffers(" << n << ", " << static_ca
st<const void*>(framebuffers) << ")"); // NOLINT |
| 381 if (n < 0) { | 420 if (n < 0) { |
| 382 SetGLError(GL_INVALID_VALUE, "glGenFramebuffers: n < 0"); | 421 SetGLError(GL_INVALID_VALUE, "glGenFramebuffers: n < 0"); |
| 383 return; | 422 return; |
| 384 } | 423 } |
| 424 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 385 id_handlers_[id_namespaces::kFramebuffers]-> | 425 id_handlers_[id_namespaces::kFramebuffers]-> |
| 386 MakeIds(0, n, framebuffers); | 426 MakeIds(0, n, framebuffers); |
| 387 helper_->GenFramebuffersImmediate(n, framebuffers); | 427 helper_->GenFramebuffersImmediate(n, framebuffers); |
| 388 GPU_CLIENT_LOG_CODE_BLOCK({ | 428 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 389 for (GLsizei i = 0; i < n; ++i) { | 429 for (GLsizei i = 0; i < n; ++i) { |
| 390 GPU_CLIENT_LOG(" " << i << ": " << framebuffers[i]); | 430 GPU_CLIENT_LOG(" " << i << ": " << framebuffers[i]); |
| 391 } | 431 } |
| 392 }); | 432 }); |
| 393 } | 433 } |
| 394 | 434 |
| 395 void GenRenderbuffers(GLsizei n, GLuint* renderbuffers) { | 435 void GenRenderbuffers(GLsizei n, GLuint* renderbuffers) { |
| 396 GPU_CLIENT_LOG("[" << this << "] glGenRenderbuffers(" << n << ", " << static_c
ast<const void*>(renderbuffers) << ")"); // NOLINT | 436 GPU_CLIENT_LOG("[" << this << "] glGenRenderbuffers(" << n << ", " << static_c
ast<const void*>(renderbuffers) << ")"); // NOLINT |
| 397 if (n < 0) { | 437 if (n < 0) { |
| 398 SetGLError(GL_INVALID_VALUE, "glGenRenderbuffers: n < 0"); | 438 SetGLError(GL_INVALID_VALUE, "glGenRenderbuffers: n < 0"); |
| 399 return; | 439 return; |
| 400 } | 440 } |
| 441 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 401 id_handlers_[id_namespaces::kRenderbuffers]-> | 442 id_handlers_[id_namespaces::kRenderbuffers]-> |
| 402 MakeIds(0, n, renderbuffers); | 443 MakeIds(0, n, renderbuffers); |
| 403 helper_->GenRenderbuffersImmediate(n, renderbuffers); | 444 helper_->GenRenderbuffersImmediate(n, renderbuffers); |
| 404 GPU_CLIENT_LOG_CODE_BLOCK({ | 445 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 405 for (GLsizei i = 0; i < n; ++i) { | 446 for (GLsizei i = 0; i < n; ++i) { |
| 406 GPU_CLIENT_LOG(" " << i << ": " << renderbuffers[i]); | 447 GPU_CLIENT_LOG(" " << i << ": " << renderbuffers[i]); |
| 407 } | 448 } |
| 408 }); | 449 }); |
| 409 } | 450 } |
| 410 | 451 |
| 411 void GenTextures(GLsizei n, GLuint* textures) { | 452 void GenTextures(GLsizei n, GLuint* textures) { |
| 412 GPU_CLIENT_LOG("[" << this << "] glGenTextures(" << n << ", " << static_cast<c
onst void*>(textures) << ")"); // NOLINT | 453 GPU_CLIENT_LOG("[" << this << "] glGenTextures(" << n << ", " << static_cast<c
onst void*>(textures) << ")"); // NOLINT |
| 413 if (n < 0) { | 454 if (n < 0) { |
| 414 SetGLError(GL_INVALID_VALUE, "glGenTextures: n < 0"); | 455 SetGLError(GL_INVALID_VALUE, "glGenTextures: n < 0"); |
| 415 return; | 456 return; |
| 416 } | 457 } |
| 458 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 417 id_handlers_[id_namespaces::kTextures]-> | 459 id_handlers_[id_namespaces::kTextures]-> |
| 418 MakeIds(0, n, textures); | 460 MakeIds(0, n, textures); |
| 419 helper_->GenTexturesImmediate(n, textures); | 461 helper_->GenTexturesImmediate(n, textures); |
| 420 GPU_CLIENT_LOG_CODE_BLOCK({ | 462 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 421 for (GLsizei i = 0; i < n; ++i) { | 463 for (GLsizei i = 0; i < n; ++i) { |
| 422 GPU_CLIENT_LOG(" " << i << ": " << textures[i]); | 464 GPU_CLIENT_LOG(" " << i << ": " << textures[i]); |
| 423 } | 465 } |
| 424 }); | 466 }); |
| 425 } | 467 } |
| 426 | 468 |
| 427 void GetActiveAttrib( | 469 void GetActiveAttrib( |
| 428 GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, | 470 GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, |
| 429 GLenum* type, char* name); | 471 GLenum* type, char* name); |
| 430 | 472 |
| 431 void GetActiveUniform( | 473 void GetActiveUniform( |
| 432 GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, | 474 GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, |
| 433 GLenum* type, char* name); | 475 GLenum* type, char* name); |
| 434 | 476 |
| 435 void GetAttachedShaders( | 477 void GetAttachedShaders( |
| 436 GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders); | 478 GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders); |
| 437 | 479 |
| 438 GLint GetAttribLocation(GLuint program, const char* name); | 480 GLint GetAttribLocation(GLuint program, const char* name); |
| 439 | 481 |
| 440 void GetBooleanv(GLenum pname, GLboolean* params) { | 482 void GetBooleanv(GLenum pname, GLboolean* params) { |
| 483 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 441 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLboolean, params); | 484 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLboolean, params); |
| 442 GPU_CLIENT_LOG("[" << this << "] glGetBooleanv(" << GLES2Util::GetStringGLStat
e(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT | 485 GPU_CLIENT_LOG("[" << this << "] glGetBooleanv(" << GLES2Util::GetStringGLStat
e(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT |
| 443 if (GetBooleanvHelper(pname, params)) { | 486 if (GetBooleanvHelper(pname, params)) { |
| 444 return; | 487 return; |
| 445 } | 488 } |
| 446 typedef GetBooleanv::Result Result; | 489 typedef GetBooleanv::Result Result; |
| 447 Result* result = GetResultAs<Result*>(); | 490 Result* result = GetResultAs<Result*>(); |
| 448 result->SetNumResults(0); | 491 result->SetNumResults(0); |
| 449 helper_->GetBooleanv(pname, | 492 helper_->GetBooleanv(pname, |
| 450 GetResultShmId(), GetResultShmOffset()); | 493 GetResultShmId(), GetResultShmOffset()); |
| 451 WaitForCmd(); | 494 WaitForCmd(); |
| 452 result->CopyResult(params); | 495 result->CopyResult(params); |
| 453 GPU_CLIENT_LOG_CODE_BLOCK({ | 496 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 454 for (int32 i = 0; i < result->GetNumResults(); ++i) { | 497 for (int32 i = 0; i < result->GetNumResults(); ++i) { |
| 455 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | 498 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); |
| 456 } | 499 } |
| 457 }); | 500 }); |
| 458 } | 501 } |
| 459 void GetBufferParameteriv(GLenum target, GLenum pname, GLint* params) { | 502 void GetBufferParameteriv(GLenum target, GLenum pname, GLint* params) { |
| 503 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 460 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); | 504 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); |
| 461 GPU_CLIENT_LOG("[" << this << "] glGetBufferParameteriv(" << GLES2Util::GetStr
ingBufferTarget(target) << ", " << GLES2Util::GetStringBufferParameter(pname) <<
", " << static_cast<const void*>(params) << ")"); // NOLINT | 505 GPU_CLIENT_LOG("[" << this << "] glGetBufferParameteriv(" << GLES2Util::GetStr
ingBufferTarget(target) << ", " << GLES2Util::GetStringBufferParameter(pname) <<
", " << static_cast<const void*>(params) << ")"); // NOLINT |
| 462 if (GetBufferParameterivHelper(target, pname, params)) { | 506 if (GetBufferParameterivHelper(target, pname, params)) { |
| 463 return; | 507 return; |
| 464 } | 508 } |
| 465 typedef GetBufferParameteriv::Result Result; | 509 typedef GetBufferParameteriv::Result Result; |
| 466 Result* result = GetResultAs<Result*>(); | 510 Result* result = GetResultAs<Result*>(); |
| 467 result->SetNumResults(0); | 511 result->SetNumResults(0); |
| 468 helper_->GetBufferParameteriv(target, pname, | 512 helper_->GetBufferParameteriv(target, pname, |
| 469 GetResultShmId(), GetResultShmOffset()); | 513 GetResultShmId(), GetResultShmOffset()); |
| 470 WaitForCmd(); | 514 WaitForCmd(); |
| 471 result->CopyResult(params); | 515 result->CopyResult(params); |
| 472 GPU_CLIENT_LOG_CODE_BLOCK({ | 516 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 473 for (int32 i = 0; i < result->GetNumResults(); ++i) { | 517 for (int32 i = 0; i < result->GetNumResults(); ++i) { |
| 474 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | 518 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); |
| 475 } | 519 } |
| 476 }); | 520 }); |
| 477 } | 521 } |
| 478 GLenum GetError(); | 522 GLenum GetError(); |
| 479 | 523 |
| 480 void GetFloatv(GLenum pname, GLfloat* params) { | 524 void GetFloatv(GLenum pname, GLfloat* params) { |
| 525 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 481 GPU_CLIENT_LOG("[" << this << "] glGetFloatv(" << GLES2Util::GetStringGLState( | 526 GPU_CLIENT_LOG("[" << this << "] glGetFloatv(" << GLES2Util::GetStringGLState( |
| 482 pname) << ", " << static_cast<const void*>(params) << ")"); | 527 pname) << ", " << static_cast<const void*>(params) << ")"); |
| 483 if (GetFloatvHelper(pname, params)) { | 528 if (GetFloatvHelper(pname, params)) { |
| 484 return; | 529 return; |
| 485 } | 530 } |
| 486 typedef GetFloatv::Result Result; | 531 typedef GetFloatv::Result Result; |
| 487 Result* result = GetResultAs<Result*>(); | 532 Result* result = GetResultAs<Result*>(); |
| 488 result->SetNumResults(0); | 533 result->SetNumResults(0); |
| 489 helper_->GetFloatv(pname, | 534 helper_->GetFloatv(pname, |
| 490 GetResultShmId(), GetResultShmOffset()); | 535 GetResultShmId(), GetResultShmOffset()); |
| 491 WaitForCmd(); | 536 WaitForCmd(); |
| 492 result->CopyResult(params); | 537 result->CopyResult(params); |
| 493 GPU_CLIENT_LOG_CODE_BLOCK({ | 538 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 494 for (int32 i = 0; i < result->GetNumResults(); ++i) { | 539 for (int32 i = 0; i < result->GetNumResults(); ++i) { |
| 495 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | 540 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); |
| 496 } | 541 } |
| 497 }); | 542 }); |
| 498 } | 543 } |
| 499 void GetFramebufferAttachmentParameteriv( | 544 void GetFramebufferAttachmentParameteriv( |
| 500 GLenum target, GLenum attachment, GLenum pname, GLint* params) { | 545 GLenum target, GLenum attachment, GLenum pname, GLint* params) { |
| 546 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 501 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); | 547 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); |
| 502 GPU_CLIENT_LOG("[" << this << "] glGetFramebufferAttachmentParameteriv(" << GL
ES2Util::GetStringFrameBufferTarget(target) << ", " << GLES2Util::GetStringAttac
hment(attachment) << ", " << GLES2Util::GetStringFrameBufferParameter(pname) <<
", " << static_cast<const void*>(params) << ")"); // NOLINT | 548 GPU_CLIENT_LOG("[" << this << "] glGetFramebufferAttachmentParameteriv(" << GL
ES2Util::GetStringFrameBufferTarget(target) << ", " << GLES2Util::GetStringAttac
hment(attachment) << ", " << GLES2Util::GetStringFrameBufferParameter(pname) <<
", " << static_cast<const void*>(params) << ")"); // NOLINT |
| 503 if (GetFramebufferAttachmentParameterivHelper( | 549 if (GetFramebufferAttachmentParameterivHelper( |
| 504 target, attachment, pname, params)) { | 550 target, attachment, pname, params)) { |
| 505 return; | 551 return; |
| 506 } | 552 } |
| 507 typedef GetFramebufferAttachmentParameteriv::Result Result; | 553 typedef GetFramebufferAttachmentParameteriv::Result Result; |
| 508 Result* result = GetResultAs<Result*>(); | 554 Result* result = GetResultAs<Result*>(); |
| 509 result->SetNumResults(0); | 555 result->SetNumResults(0); |
| 510 helper_->GetFramebufferAttachmentParameteriv(target, attachment, pname, | 556 helper_->GetFramebufferAttachmentParameteriv(target, attachment, pname, |
| 511 GetResultShmId(), GetResultShmOffset()); | 557 GetResultShmId(), GetResultShmOffset()); |
| 512 WaitForCmd(); | 558 WaitForCmd(); |
| 513 result->CopyResult(params); | 559 result->CopyResult(params); |
| 514 GPU_CLIENT_LOG_CODE_BLOCK({ | 560 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 515 for (int32 i = 0; i < result->GetNumResults(); ++i) { | 561 for (int32 i = 0; i < result->GetNumResults(); ++i) { |
| 516 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | 562 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); |
| 517 } | 563 } |
| 518 }); | 564 }); |
| 519 } | 565 } |
| 520 void GetIntegerv(GLenum pname, GLint* params) { | 566 void GetIntegerv(GLenum pname, GLint* params) { |
| 567 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 521 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); | 568 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); |
| 522 GPU_CLIENT_LOG("[" << this << "] glGetIntegerv(" << GLES2Util::GetStringGLStat
e(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT | 569 GPU_CLIENT_LOG("[" << this << "] glGetIntegerv(" << GLES2Util::GetStringGLStat
e(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT |
| 523 if (GetIntegervHelper(pname, params)) { | 570 if (GetIntegervHelper(pname, params)) { |
| 524 return; | 571 return; |
| 525 } | 572 } |
| 526 typedef GetIntegerv::Result Result; | 573 typedef GetIntegerv::Result Result; |
| 527 Result* result = GetResultAs<Result*>(); | 574 Result* result = GetResultAs<Result*>(); |
| 528 result->SetNumResults(0); | 575 result->SetNumResults(0); |
| 529 helper_->GetIntegerv(pname, | 576 helper_->GetIntegerv(pname, |
| 530 GetResultShmId(), GetResultShmOffset()); | 577 GetResultShmId(), GetResultShmOffset()); |
| 531 WaitForCmd(); | 578 WaitForCmd(); |
| 532 result->CopyResult(params); | 579 result->CopyResult(params); |
| 533 GPU_CLIENT_LOG_CODE_BLOCK({ | 580 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 534 for (int32 i = 0; i < result->GetNumResults(); ++i) { | 581 for (int32 i = 0; i < result->GetNumResults(); ++i) { |
| 535 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | 582 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); |
| 536 } | 583 } |
| 537 }); | 584 }); |
| 538 } | 585 } |
| 539 void GetProgramiv(GLuint program, GLenum pname, GLint* params) { | 586 void GetProgramiv(GLuint program, GLenum pname, GLint* params) { |
| 587 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 540 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); | 588 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); |
| 541 GPU_CLIENT_LOG("[" << this << "] glGetProgramiv(" << program << ", " << GLES2U
til::GetStringProgramParameter(pname) << ", " << static_cast<const void*>(params
) << ")"); // NOLINT | 589 GPU_CLIENT_LOG("[" << this << "] glGetProgramiv(" << program << ", " << GLES2U
til::GetStringProgramParameter(pname) << ", " << static_cast<const void*>(params
) << ")"); // NOLINT |
| 542 if (GetProgramivHelper(program, pname, params)) { | 590 if (GetProgramivHelper(program, pname, params)) { |
| 543 return; | 591 return; |
| 544 } | 592 } |
| 545 typedef GetProgramiv::Result Result; | 593 typedef GetProgramiv::Result Result; |
| 546 Result* result = GetResultAs<Result*>(); | 594 Result* result = GetResultAs<Result*>(); |
| 547 result->SetNumResults(0); | 595 result->SetNumResults(0); |
| 548 helper_->GetProgramiv(program, pname, | 596 helper_->GetProgramiv(program, pname, |
| 549 GetResultShmId(), GetResultShmOffset()); | 597 GetResultShmId(), GetResultShmOffset()); |
| 550 WaitForCmd(); | 598 WaitForCmd(); |
| 551 result->CopyResult(params); | 599 result->CopyResult(params); |
| 552 GPU_CLIENT_LOG_CODE_BLOCK({ | 600 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 553 for (int32 i = 0; i < result->GetNumResults(); ++i) { | 601 for (int32 i = 0; i < result->GetNumResults(); ++i) { |
| 554 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | 602 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); |
| 555 } | 603 } |
| 556 }); | 604 }); |
| 557 } | 605 } |
| 558 void GetProgramInfoLog( | 606 void GetProgramInfoLog( |
| 559 GLuint program, GLsizei bufsize, GLsizei* length, char* infolog) { | 607 GLuint program, GLsizei bufsize, GLsizei* length, char* infolog) { |
| 608 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 560 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLsizei, length); | 609 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLsizei, length); |
| 561 GPU_CLIENT_LOG("[" << this << "] glGetProgramInfoLog" << "(" | 610 GPU_CLIENT_LOG("[" << this << "] glGetProgramInfoLog" << "(" |
| 562 << program << ", " | 611 << program << ", " |
| 563 << bufsize << ", " | 612 << bufsize << ", " |
| 564 << static_cast<void*>(length) << ", " | 613 << static_cast<void*>(length) << ", " |
| 565 << static_cast<void*>(infolog) << ")"); | 614 << static_cast<void*>(infolog) << ")"); |
| 566 helper_->SetBucketSize(kResultBucketId, 0); | 615 helper_->SetBucketSize(kResultBucketId, 0); |
| 567 helper_->GetProgramInfoLog(program, kResultBucketId); | 616 helper_->GetProgramInfoLog(program, kResultBucketId); |
| 568 std::string str; | 617 std::string str; |
| 569 GLsizei max_size = 0; | 618 GLsizei max_size = 0; |
| 570 if (GetBucketAsString(kResultBucketId, &str)) { | 619 if (GetBucketAsString(kResultBucketId, &str)) { |
| 571 if (bufsize > 0) { | 620 if (bufsize > 0) { |
| 572 max_size = | 621 max_size = |
| 573 std::min(static_cast<size_t>(bufsize) - 1, str.size()); | 622 std::min(static_cast<size_t>(bufsize) - 1, str.size()); |
| 574 memcpy(infolog, str.c_str(), max_size); | 623 memcpy(infolog, str.c_str(), max_size); |
| 575 infolog[max_size] = '\0'; | 624 infolog[max_size] = '\0'; |
| 576 GPU_CLIENT_LOG("------\n" << infolog << "\n------"); | 625 GPU_CLIENT_LOG("------\n" << infolog << "\n------"); |
| 577 } | 626 } |
| 578 } | 627 } |
| 579 if (length != NULL) { | 628 if (length != NULL) { |
| 580 *length = max_size; | 629 *length = max_size; |
| 581 } | 630 } |
| 582 } | 631 } |
| 583 void GetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params) { | 632 void GetRenderbufferParameteriv(GLenum target, GLenum pname, GLint* params) { |
| 633 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 584 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); | 634 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); |
| 585 GPU_CLIENT_LOG("[" << this << "] glGetRenderbufferParameteriv(" << GLES2Util::
GetStringRenderBufferTarget(target) << ", " << GLES2Util::GetStringRenderBufferP
arameter(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT | 635 GPU_CLIENT_LOG("[" << this << "] glGetRenderbufferParameteriv(" << GLES2Util::
GetStringRenderBufferTarget(target) << ", " << GLES2Util::GetStringRenderBufferP
arameter(pname) << ", " << static_cast<const void*>(params) << ")"); // NOLINT |
| 586 if (GetRenderbufferParameterivHelper(target, pname, params)) { | 636 if (GetRenderbufferParameterivHelper(target, pname, params)) { |
| 587 return; | 637 return; |
| 588 } | 638 } |
| 589 typedef GetRenderbufferParameteriv::Result Result; | 639 typedef GetRenderbufferParameteriv::Result Result; |
| 590 Result* result = GetResultAs<Result*>(); | 640 Result* result = GetResultAs<Result*>(); |
| 591 result->SetNumResults(0); | 641 result->SetNumResults(0); |
| 592 helper_->GetRenderbufferParameteriv(target, pname, | 642 helper_->GetRenderbufferParameteriv(target, pname, |
| 593 GetResultShmId(), GetResultShmOffset()); | 643 GetResultShmId(), GetResultShmOffset()); |
| 594 WaitForCmd(); | 644 WaitForCmd(); |
| 595 result->CopyResult(params); | 645 result->CopyResult(params); |
| 596 GPU_CLIENT_LOG_CODE_BLOCK({ | 646 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 597 for (int32 i = 0; i < result->GetNumResults(); ++i) { | 647 for (int32 i = 0; i < result->GetNumResults(); ++i) { |
| 598 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | 648 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); |
| 599 } | 649 } |
| 600 }); | 650 }); |
| 601 } | 651 } |
| 602 void GetShaderiv(GLuint shader, GLenum pname, GLint* params) { | 652 void GetShaderiv(GLuint shader, GLenum pname, GLint* params) { |
| 653 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 603 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); | 654 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); |
| 604 GPU_CLIENT_LOG("[" << this << "] glGetShaderiv(" << shader << ", " << GLES2Uti
l::GetStringShaderParameter(pname) << ", " << static_cast<const void*>(params) <
< ")"); // NOLINT | 655 GPU_CLIENT_LOG("[" << this << "] glGetShaderiv(" << shader << ", " << GLES2Uti
l::GetStringShaderParameter(pname) << ", " << static_cast<const void*>(params) <
< ")"); // NOLINT |
| 605 if (GetShaderivHelper(shader, pname, params)) { | 656 if (GetShaderivHelper(shader, pname, params)) { |
| 606 return; | 657 return; |
| 607 } | 658 } |
| 608 typedef GetShaderiv::Result Result; | 659 typedef GetShaderiv::Result Result; |
| 609 Result* result = GetResultAs<Result*>(); | 660 Result* result = GetResultAs<Result*>(); |
| 610 result->SetNumResults(0); | 661 result->SetNumResults(0); |
| 611 helper_->GetShaderiv(shader, pname, | 662 helper_->GetShaderiv(shader, pname, |
| 612 GetResultShmId(), GetResultShmOffset()); | 663 GetResultShmId(), GetResultShmOffset()); |
| 613 WaitForCmd(); | 664 WaitForCmd(); |
| 614 result->CopyResult(params); | 665 result->CopyResult(params); |
| 615 GPU_CLIENT_LOG_CODE_BLOCK({ | 666 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 616 for (int32 i = 0; i < result->GetNumResults(); ++i) { | 667 for (int32 i = 0; i < result->GetNumResults(); ++i) { |
| 617 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | 668 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); |
| 618 } | 669 } |
| 619 }); | 670 }); |
| 620 } | 671 } |
| 621 void GetShaderInfoLog( | 672 void GetShaderInfoLog( |
| 622 GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog) { | 673 GLuint shader, GLsizei bufsize, GLsizei* length, char* infolog) { |
| 674 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 623 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLsizei, length); | 675 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLsizei, length); |
| 624 GPU_CLIENT_LOG("[" << this << "] glGetShaderInfoLog" << "(" | 676 GPU_CLIENT_LOG("[" << this << "] glGetShaderInfoLog" << "(" |
| 625 << shader << ", " | 677 << shader << ", " |
| 626 << bufsize << ", " | 678 << bufsize << ", " |
| 627 << static_cast<void*>(length) << ", " | 679 << static_cast<void*>(length) << ", " |
| 628 << static_cast<void*>(infolog) << ")"); | 680 << static_cast<void*>(infolog) << ")"); |
| 629 helper_->SetBucketSize(kResultBucketId, 0); | 681 helper_->SetBucketSize(kResultBucketId, 0); |
| 630 helper_->GetShaderInfoLog(shader, kResultBucketId); | 682 helper_->GetShaderInfoLog(shader, kResultBucketId); |
| 631 std::string str; | 683 std::string str; |
| 632 GLsizei max_size = 0; | 684 GLsizei max_size = 0; |
| 633 if (GetBucketAsString(kResultBucketId, &str)) { | 685 if (GetBucketAsString(kResultBucketId, &str)) { |
| 634 if (bufsize > 0) { | 686 if (bufsize > 0) { |
| 635 max_size = | 687 max_size = |
| 636 std::min(static_cast<size_t>(bufsize) - 1, str.size()); | 688 std::min(static_cast<size_t>(bufsize) - 1, str.size()); |
| 637 memcpy(infolog, str.c_str(), max_size); | 689 memcpy(infolog, str.c_str(), max_size); |
| 638 infolog[max_size] = '\0'; | 690 infolog[max_size] = '\0'; |
| 639 GPU_CLIENT_LOG("------\n" << infolog << "\n------"); | 691 GPU_CLIENT_LOG("------\n" << infolog << "\n------"); |
| 640 } | 692 } |
| 641 } | 693 } |
| 642 if (length != NULL) { | 694 if (length != NULL) { |
| 643 *length = max_size; | 695 *length = max_size; |
| 644 } | 696 } |
| 645 } | 697 } |
| 646 void GetShaderPrecisionFormat( | 698 void GetShaderPrecisionFormat( |
| 647 GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision); | 699 GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision); |
| 648 | 700 |
| 649 void GetShaderSource( | 701 void GetShaderSource( |
| 650 GLuint shader, GLsizei bufsize, GLsizei* length, char* source) { | 702 GLuint shader, GLsizei bufsize, GLsizei* length, char* source) { |
| 703 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 651 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLsizei, length); | 704 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLsizei, length); |
| 652 GPU_CLIENT_LOG("[" << this << "] glGetShaderSource" << "(" | 705 GPU_CLIENT_LOG("[" << this << "] glGetShaderSource" << "(" |
| 653 << shader << ", " | 706 << shader << ", " |
| 654 << bufsize << ", " | 707 << bufsize << ", " |
| 655 << static_cast<void*>(length) << ", " | 708 << static_cast<void*>(length) << ", " |
| 656 << static_cast<void*>(source) << ")"); | 709 << static_cast<void*>(source) << ")"); |
| 657 helper_->SetBucketSize(kResultBucketId, 0); | 710 helper_->SetBucketSize(kResultBucketId, 0); |
| 658 helper_->GetShaderSource(shader, kResultBucketId); | 711 helper_->GetShaderSource(shader, kResultBucketId); |
| 659 std::string str; | 712 std::string str; |
| 660 GLsizei max_size = 0; | 713 GLsizei max_size = 0; |
| 661 if (GetBucketAsString(kResultBucketId, &str)) { | 714 if (GetBucketAsString(kResultBucketId, &str)) { |
| 662 if (bufsize > 0) { | 715 if (bufsize > 0) { |
| 663 max_size = | 716 max_size = |
| 664 std::min(static_cast<size_t>(bufsize) - 1, str.size()); | 717 std::min(static_cast<size_t>(bufsize) - 1, str.size()); |
| 665 memcpy(source, str.c_str(), max_size); | 718 memcpy(source, str.c_str(), max_size); |
| 666 source[max_size] = '\0'; | 719 source[max_size] = '\0'; |
| 667 GPU_CLIENT_LOG("------\n" << source << "\n------"); | 720 GPU_CLIENT_LOG("------\n" << source << "\n------"); |
| 668 } | 721 } |
| 669 } | 722 } |
| 670 if (length != NULL) { | 723 if (length != NULL) { |
| 671 *length = max_size; | 724 *length = max_size; |
| 672 } | 725 } |
| 673 } | 726 } |
| 674 const GLubyte* GetString(GLenum name); | 727 const GLubyte* GetString(GLenum name); |
| 675 | 728 |
| 676 void GetTexParameterfv(GLenum target, GLenum pname, GLfloat* params) { | 729 void GetTexParameterfv(GLenum target, GLenum pname, GLfloat* params) { |
| 730 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 677 GPU_CLIENT_LOG("[" << this << "] glGetTexParameterfv(" << GLES2Util::GetString
GetTexParamTarget(target) << ", " << GLES2Util::GetStringTextureParameter(pname)
<< ", " << static_cast<const void*>(params) << ")"); // NOLINT | 731 GPU_CLIENT_LOG("[" << this << "] glGetTexParameterfv(" << GLES2Util::GetString
GetTexParamTarget(target) << ", " << GLES2Util::GetStringTextureParameter(pname)
<< ", " << static_cast<const void*>(params) << ")"); // NOLINT |
| 678 if (GetTexParameterfvHelper(target, pname, params)) { | 732 if (GetTexParameterfvHelper(target, pname, params)) { |
| 679 return; | 733 return; |
| 680 } | 734 } |
| 681 typedef GetTexParameterfv::Result Result; | 735 typedef GetTexParameterfv::Result Result; |
| 682 Result* result = GetResultAs<Result*>(); | 736 Result* result = GetResultAs<Result*>(); |
| 683 result->SetNumResults(0); | 737 result->SetNumResults(0); |
| 684 helper_->GetTexParameterfv(target, pname, | 738 helper_->GetTexParameterfv(target, pname, |
| 685 GetResultShmId(), GetResultShmOffset()); | 739 GetResultShmId(), GetResultShmOffset()); |
| 686 WaitForCmd(); | 740 WaitForCmd(); |
| 687 result->CopyResult(params); | 741 result->CopyResult(params); |
| 688 GPU_CLIENT_LOG_CODE_BLOCK({ | 742 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 689 for (int32 i = 0; i < result->GetNumResults(); ++i) { | 743 for (int32 i = 0; i < result->GetNumResults(); ++i) { |
| 690 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | 744 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); |
| 691 } | 745 } |
| 692 }); | 746 }); |
| 693 } | 747 } |
| 694 void GetTexParameteriv(GLenum target, GLenum pname, GLint* params) { | 748 void GetTexParameteriv(GLenum target, GLenum pname, GLint* params) { |
| 749 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 695 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); | 750 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); |
| 696 GPU_CLIENT_LOG("[" << this << "] glGetTexParameteriv(" << GLES2Util::GetString
GetTexParamTarget(target) << ", " << GLES2Util::GetStringTextureParameter(pname)
<< ", " << static_cast<const void*>(params) << ")"); // NOLINT | 751 GPU_CLIENT_LOG("[" << this << "] glGetTexParameteriv(" << GLES2Util::GetString
GetTexParamTarget(target) << ", " << GLES2Util::GetStringTextureParameter(pname)
<< ", " << static_cast<const void*>(params) << ")"); // NOLINT |
| 697 if (GetTexParameterivHelper(target, pname, params)) { | 752 if (GetTexParameterivHelper(target, pname, params)) { |
| 698 return; | 753 return; |
| 699 } | 754 } |
| 700 typedef GetTexParameteriv::Result Result; | 755 typedef GetTexParameteriv::Result Result; |
| 701 Result* result = GetResultAs<Result*>(); | 756 Result* result = GetResultAs<Result*>(); |
| 702 result->SetNumResults(0); | 757 result->SetNumResults(0); |
| 703 helper_->GetTexParameteriv(target, pname, | 758 helper_->GetTexParameteriv(target, pname, |
| 704 GetResultShmId(), GetResultShmOffset()); | 759 GetResultShmId(), GetResultShmOffset()); |
| 705 WaitForCmd(); | 760 WaitForCmd(); |
| 706 result->CopyResult(params); | 761 result->CopyResult(params); |
| 707 GPU_CLIENT_LOG_CODE_BLOCK({ | 762 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 708 for (int32 i = 0; i < result->GetNumResults(); ++i) { | 763 for (int32 i = 0; i < result->GetNumResults(); ++i) { |
| 709 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | 764 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); |
| 710 } | 765 } |
| 711 }); | 766 }); |
| 712 } | 767 } |
| 713 void GetUniformfv(GLuint program, GLint location, GLfloat* params); | 768 void GetUniformfv(GLuint program, GLint location, GLfloat* params); |
| 714 | 769 |
| 715 void GetUniformiv(GLuint program, GLint location, GLint* params); | 770 void GetUniformiv(GLuint program, GLint location, GLint* params); |
| 716 | 771 |
| 717 GLint GetUniformLocation(GLuint program, const char* name); | 772 GLint GetUniformLocation(GLuint program, const char* name); |
| 718 | 773 |
| 719 void GetVertexAttribPointerv(GLuint index, GLenum pname, void** pointer); | 774 void GetVertexAttribPointerv(GLuint index, GLenum pname, void** pointer); |
| 720 | 775 |
| 721 void Hint(GLenum target, GLenum mode) { | 776 void Hint(GLenum target, GLenum mode) { |
| 777 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 722 GPU_CLIENT_LOG("[" << this << "] glHint(" << GLES2Util::GetStringHintTarget( | 778 GPU_CLIENT_LOG("[" << this << "] glHint(" << GLES2Util::GetStringHintTarget( |
| 723 target) << ", " << GLES2Util::GetStringHintMode(mode) << ")"); | 779 target) << ", " << GLES2Util::GetStringHintMode(mode) << ")"); |
| 724 helper_->Hint(target, mode); | 780 helper_->Hint(target, mode); |
| 725 } | 781 } |
| 726 | 782 |
| 727 GLboolean IsBuffer(GLuint buffer) { | 783 GLboolean IsBuffer(GLuint buffer) { |
| 784 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 728 GPU_CLIENT_LOG("[" << this << "] glIsBuffer(" << buffer << ")"); | 785 GPU_CLIENT_LOG("[" << this << "] glIsBuffer(" << buffer << ")"); |
| 729 typedef IsBuffer::Result Result; | 786 typedef IsBuffer::Result Result; |
| 730 Result* result = GetResultAs<Result*>(); | 787 Result* result = GetResultAs<Result*>(); |
| 731 *result = 0; | 788 *result = 0; |
| 732 helper_->IsBuffer(buffer, GetResultShmId(), GetResultShmOffset()); | 789 helper_->IsBuffer(buffer, GetResultShmId(), GetResultShmOffset()); |
| 733 WaitForCmd(); | 790 WaitForCmd(); |
| 734 GPU_CLIENT_LOG("returned " << *result); | 791 GPU_CLIENT_LOG("returned " << *result); |
| 735 return *result; | 792 return *result; |
| 736 } | 793 } |
| 737 | 794 |
| 738 GLboolean IsEnabled(GLenum cap) { | 795 GLboolean IsEnabled(GLenum cap) { |
| 796 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 739 GPU_CLIENT_LOG("[" << this << "] glIsEnabled(" << GLES2Util::GetStringCapabili
ty(cap) << ")"); // NOLINT | 797 GPU_CLIENT_LOG("[" << this << "] glIsEnabled(" << GLES2Util::GetStringCapabili
ty(cap) << ")"); // NOLINT |
| 740 typedef IsEnabled::Result Result; | 798 typedef IsEnabled::Result Result; |
| 741 Result* result = GetResultAs<Result*>(); | 799 Result* result = GetResultAs<Result*>(); |
| 742 *result = 0; | 800 *result = 0; |
| 743 helper_->IsEnabled(cap, GetResultShmId(), GetResultShmOffset()); | 801 helper_->IsEnabled(cap, GetResultShmId(), GetResultShmOffset()); |
| 744 WaitForCmd(); | 802 WaitForCmd(); |
| 745 GPU_CLIENT_LOG("returned " << *result); | 803 GPU_CLIENT_LOG("returned " << *result); |
| 746 return *result; | 804 return *result; |
| 747 } | 805 } |
| 748 | 806 |
| 749 GLboolean IsFramebuffer(GLuint framebuffer) { | 807 GLboolean IsFramebuffer(GLuint framebuffer) { |
| 808 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 750 GPU_CLIENT_LOG("[" << this << "] glIsFramebuffer(" << framebuffer << ")"); | 809 GPU_CLIENT_LOG("[" << this << "] glIsFramebuffer(" << framebuffer << ")"); |
| 751 typedef IsFramebuffer::Result Result; | 810 typedef IsFramebuffer::Result Result; |
| 752 Result* result = GetResultAs<Result*>(); | 811 Result* result = GetResultAs<Result*>(); |
| 753 *result = 0; | 812 *result = 0; |
| 754 helper_->IsFramebuffer(framebuffer, GetResultShmId(), GetResultShmOffset()); | 813 helper_->IsFramebuffer(framebuffer, GetResultShmId(), GetResultShmOffset()); |
| 755 WaitForCmd(); | 814 WaitForCmd(); |
| 756 GPU_CLIENT_LOG("returned " << *result); | 815 GPU_CLIENT_LOG("returned " << *result); |
| 757 return *result; | 816 return *result; |
| 758 } | 817 } |
| 759 | 818 |
| 760 GLboolean IsProgram(GLuint program) { | 819 GLboolean IsProgram(GLuint program) { |
| 820 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 761 GPU_CLIENT_LOG("[" << this << "] glIsProgram(" << program << ")"); | 821 GPU_CLIENT_LOG("[" << this << "] glIsProgram(" << program << ")"); |
| 762 typedef IsProgram::Result Result; | 822 typedef IsProgram::Result Result; |
| 763 Result* result = GetResultAs<Result*>(); | 823 Result* result = GetResultAs<Result*>(); |
| 764 *result = 0; | 824 *result = 0; |
| 765 helper_->IsProgram(program, GetResultShmId(), GetResultShmOffset()); | 825 helper_->IsProgram(program, GetResultShmId(), GetResultShmOffset()); |
| 766 WaitForCmd(); | 826 WaitForCmd(); |
| 767 GPU_CLIENT_LOG("returned " << *result); | 827 GPU_CLIENT_LOG("returned " << *result); |
| 768 return *result; | 828 return *result; |
| 769 } | 829 } |
| 770 | 830 |
| 771 GLboolean IsRenderbuffer(GLuint renderbuffer) { | 831 GLboolean IsRenderbuffer(GLuint renderbuffer) { |
| 832 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 772 GPU_CLIENT_LOG("[" << this << "] glIsRenderbuffer(" << renderbuffer << ")"); | 833 GPU_CLIENT_LOG("[" << this << "] glIsRenderbuffer(" << renderbuffer << ")"); |
| 773 typedef IsRenderbuffer::Result Result; | 834 typedef IsRenderbuffer::Result Result; |
| 774 Result* result = GetResultAs<Result*>(); | 835 Result* result = GetResultAs<Result*>(); |
| 775 *result = 0; | 836 *result = 0; |
| 776 helper_->IsRenderbuffer( | 837 helper_->IsRenderbuffer( |
| 777 renderbuffer, GetResultShmId(), GetResultShmOffset()); | 838 renderbuffer, GetResultShmId(), GetResultShmOffset()); |
| 778 WaitForCmd(); | 839 WaitForCmd(); |
| 779 GPU_CLIENT_LOG("returned " << *result); | 840 GPU_CLIENT_LOG("returned " << *result); |
| 780 return *result; | 841 return *result; |
| 781 } | 842 } |
| 782 | 843 |
| 783 GLboolean IsShader(GLuint shader) { | 844 GLboolean IsShader(GLuint shader) { |
| 845 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 784 GPU_CLIENT_LOG("[" << this << "] glIsShader(" << shader << ")"); | 846 GPU_CLIENT_LOG("[" << this << "] glIsShader(" << shader << ")"); |
| 785 typedef IsShader::Result Result; | 847 typedef IsShader::Result Result; |
| 786 Result* result = GetResultAs<Result*>(); | 848 Result* result = GetResultAs<Result*>(); |
| 787 *result = 0; | 849 *result = 0; |
| 788 helper_->IsShader(shader, GetResultShmId(), GetResultShmOffset()); | 850 helper_->IsShader(shader, GetResultShmId(), GetResultShmOffset()); |
| 789 WaitForCmd(); | 851 WaitForCmd(); |
| 790 GPU_CLIENT_LOG("returned " << *result); | 852 GPU_CLIENT_LOG("returned " << *result); |
| 791 return *result; | 853 return *result; |
| 792 } | 854 } |
| 793 | 855 |
| 794 GLboolean IsTexture(GLuint texture) { | 856 GLboolean IsTexture(GLuint texture) { |
| 857 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 795 GPU_CLIENT_LOG("[" << this << "] glIsTexture(" << texture << ")"); | 858 GPU_CLIENT_LOG("[" << this << "] glIsTexture(" << texture << ")"); |
| 796 typedef IsTexture::Result Result; | 859 typedef IsTexture::Result Result; |
| 797 Result* result = GetResultAs<Result*>(); | 860 Result* result = GetResultAs<Result*>(); |
| 798 *result = 0; | 861 *result = 0; |
| 799 helper_->IsTexture(texture, GetResultShmId(), GetResultShmOffset()); | 862 helper_->IsTexture(texture, GetResultShmId(), GetResultShmOffset()); |
| 800 WaitForCmd(); | 863 WaitForCmd(); |
| 801 GPU_CLIENT_LOG("returned " << *result); | 864 GPU_CLIENT_LOG("returned " << *result); |
| 802 return *result; | 865 return *result; |
| 803 } | 866 } |
| 804 | 867 |
| 805 void LineWidth(GLfloat width) { | 868 void LineWidth(GLfloat width) { |
| 869 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 806 GPU_CLIENT_LOG("[" << this << "] glLineWidth(" << width << ")"); | 870 GPU_CLIENT_LOG("[" << this << "] glLineWidth(" << width << ")"); |
| 807 helper_->LineWidth(width); | 871 helper_->LineWidth(width); |
| 808 } | 872 } |
| 809 | 873 |
| 810 void LinkProgram(GLuint program); | 874 void LinkProgram(GLuint program); |
| 811 | 875 |
| 812 void PixelStorei(GLenum pname, GLint param); | 876 void PixelStorei(GLenum pname, GLint param); |
| 813 | 877 |
| 814 void PolygonOffset(GLfloat factor, GLfloat units) { | 878 void PolygonOffset(GLfloat factor, GLfloat units) { |
| 879 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 815 GPU_CLIENT_LOG("[" << this << "] glPolygonOffset(" << factor << ", " << units
<< ")"); // NOLINT | 880 GPU_CLIENT_LOG("[" << this << "] glPolygonOffset(" << factor << ", " << units
<< ")"); // NOLINT |
| 816 helper_->PolygonOffset(factor, units); | 881 helper_->PolygonOffset(factor, units); |
| 817 } | 882 } |
| 818 | 883 |
| 819 void ReadPixels( | 884 void ReadPixels( |
| 820 GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, | 885 GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, |
| 821 void* pixels); | 886 void* pixels); |
| 822 | 887 |
| 823 void ReleaseShaderCompiler() { | 888 void ReleaseShaderCompiler() { |
| 889 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 824 GPU_CLIENT_LOG("[" << this << "] glReleaseShaderCompiler(" << ")"); | 890 GPU_CLIENT_LOG("[" << this << "] glReleaseShaderCompiler(" << ")"); |
| 825 helper_->ReleaseShaderCompiler(); | 891 helper_->ReleaseShaderCompiler(); |
| 826 } | 892 } |
| 827 | 893 |
| 828 void RenderbufferStorage( | 894 void RenderbufferStorage( |
| 829 GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { | 895 GLenum target, GLenum internalformat, GLsizei width, GLsizei height) { |
| 896 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 830 GPU_CLIENT_LOG("[" << this << "] glRenderbufferStorage(" << GLES2Util::GetStri
ngRenderBufferTarget(target) << ", " << GLES2Util::GetStringRenderBufferFormat(i
nternalformat) << ", " << width << ", " << height << ")"); // NOLINT | 897 GPU_CLIENT_LOG("[" << this << "] glRenderbufferStorage(" << GLES2Util::GetStri
ngRenderBufferTarget(target) << ", " << GLES2Util::GetStringRenderBufferFormat(i
nternalformat) << ", " << width << ", " << height << ")"); // NOLINT |
| 831 if (width < 0) { | 898 if (width < 0) { |
| 832 SetGLError(GL_INVALID_VALUE, "glRenderbufferStorage: width < 0"); | 899 SetGLError(GL_INVALID_VALUE, "glRenderbufferStorage: width < 0"); |
| 833 return; | 900 return; |
| 834 } | 901 } |
| 835 if (height < 0) { | 902 if (height < 0) { |
| 836 SetGLError(GL_INVALID_VALUE, "glRenderbufferStorage: height < 0"); | 903 SetGLError(GL_INVALID_VALUE, "glRenderbufferStorage: height < 0"); |
| 837 return; | 904 return; |
| 838 } | 905 } |
| 839 helper_->RenderbufferStorage(target, internalformat, width, height); | 906 helper_->RenderbufferStorage(target, internalformat, width, height); |
| 840 } | 907 } |
| 841 | 908 |
| 842 void SampleCoverage(GLclampf value, GLboolean invert) { | 909 void SampleCoverage(GLclampf value, GLboolean invert) { |
| 910 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 843 GPU_CLIENT_LOG("[" << this << "] glSampleCoverage(" << value << ", " << GLES2U
til::GetStringBool(invert) << ")"); // NOLINT | 911 GPU_CLIENT_LOG("[" << this << "] glSampleCoverage(" << value << ", " << GLES2U
til::GetStringBool(invert) << ")"); // NOLINT |
| 844 helper_->SampleCoverage(value, invert); | 912 helper_->SampleCoverage(value, invert); |
| 845 } | 913 } |
| 846 | 914 |
| 847 void Scissor(GLint x, GLint y, GLsizei width, GLsizei height) { | 915 void Scissor(GLint x, GLint y, GLsizei width, GLsizei height) { |
| 916 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 848 GPU_CLIENT_LOG("[" << this << "] glScissor(" << x << ", " << y << ", " << widt
h << ", " << height << ")"); // NOLINT | 917 GPU_CLIENT_LOG("[" << this << "] glScissor(" << x << ", " << y << ", " << widt
h << ", " << height << ")"); // NOLINT |
| 849 if (width < 0) { | 918 if (width < 0) { |
| 850 SetGLError(GL_INVALID_VALUE, "glScissor: width < 0"); | 919 SetGLError(GL_INVALID_VALUE, "glScissor: width < 0"); |
| 851 return; | 920 return; |
| 852 } | 921 } |
| 853 if (height < 0) { | 922 if (height < 0) { |
| 854 SetGLError(GL_INVALID_VALUE, "glScissor: height < 0"); | 923 SetGLError(GL_INVALID_VALUE, "glScissor: height < 0"); |
| 855 return; | 924 return; |
| 856 } | 925 } |
| 857 helper_->Scissor(x, y, width, height); | 926 helper_->Scissor(x, y, width, height); |
| 858 } | 927 } |
| 859 | 928 |
| 860 void ShaderBinary( | 929 void ShaderBinary( |
| 861 GLsizei n, const GLuint* shaders, GLenum binaryformat, const void* binary, | 930 GLsizei n, const GLuint* shaders, GLenum binaryformat, const void* binary, |
| 862 GLsizei length); | 931 GLsizei length); |
| 863 | 932 |
| 864 void ShaderSource( | 933 void ShaderSource( |
| 865 GLuint shader, GLsizei count, const char** str, const GLint* length); | 934 GLuint shader, GLsizei count, const char** str, const GLint* length); |
| 866 | 935 |
| 867 void StencilFunc(GLenum func, GLint ref, GLuint mask) { | 936 void StencilFunc(GLenum func, GLint ref, GLuint mask) { |
| 937 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 868 GPU_CLIENT_LOG("[" << this << "] glStencilFunc(" << GLES2Util::GetStringCmpFun
ction(func) << ", " << ref << ", " << mask << ")"); // NOLINT | 938 GPU_CLIENT_LOG("[" << this << "] glStencilFunc(" << GLES2Util::GetStringCmpFun
ction(func) << ", " << ref << ", " << mask << ")"); // NOLINT |
| 869 helper_->StencilFunc(func, ref, mask); | 939 helper_->StencilFunc(func, ref, mask); |
| 870 } | 940 } |
| 871 | 941 |
| 872 void StencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { | 942 void StencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) { |
| 943 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 873 GPU_CLIENT_LOG("[" << this << "] glStencilFuncSeparate(" << GLES2Util::GetStri
ngFaceType(face) << ", " << GLES2Util::GetStringCmpFunction(func) << ", " << ref
<< ", " << mask << ")"); // NOLINT | 944 GPU_CLIENT_LOG("[" << this << "] glStencilFuncSeparate(" << GLES2Util::GetStri
ngFaceType(face) << ", " << GLES2Util::GetStringCmpFunction(func) << ", " << ref
<< ", " << mask << ")"); // NOLINT |
| 874 helper_->StencilFuncSeparate(face, func, ref, mask); | 945 helper_->StencilFuncSeparate(face, func, ref, mask); |
| 875 } | 946 } |
| 876 | 947 |
| 877 void StencilMask(GLuint mask) { | 948 void StencilMask(GLuint mask) { |
| 949 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 878 GPU_CLIENT_LOG("[" << this << "] glStencilMask(" << mask << ")"); | 950 GPU_CLIENT_LOG("[" << this << "] glStencilMask(" << mask << ")"); |
| 879 helper_->StencilMask(mask); | 951 helper_->StencilMask(mask); |
| 880 } | 952 } |
| 881 | 953 |
| 882 void StencilMaskSeparate(GLenum face, GLuint mask) { | 954 void StencilMaskSeparate(GLenum face, GLuint mask) { |
| 955 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 883 GPU_CLIENT_LOG("[" << this << "] glStencilMaskSeparate(" << GLES2Util::GetStri
ngFaceType(face) << ", " << mask << ")"); // NOLINT | 956 GPU_CLIENT_LOG("[" << this << "] glStencilMaskSeparate(" << GLES2Util::GetStri
ngFaceType(face) << ", " << mask << ")"); // NOLINT |
| 884 helper_->StencilMaskSeparate(face, mask); | 957 helper_->StencilMaskSeparate(face, mask); |
| 885 } | 958 } |
| 886 | 959 |
| 887 void StencilOp(GLenum fail, GLenum zfail, GLenum zpass) { | 960 void StencilOp(GLenum fail, GLenum zfail, GLenum zpass) { |
| 961 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 888 GPU_CLIENT_LOG("[" << this << "] glStencilOp(" << GLES2Util::GetStringStencilO
p(fail) << ", " << GLES2Util::GetStringStencilOp(zfail) << ", " << GLES2Util::Ge
tStringStencilOp(zpass) << ")"); // NOLINT | 962 GPU_CLIENT_LOG("[" << this << "] glStencilOp(" << GLES2Util::GetStringStencilO
p(fail) << ", " << GLES2Util::GetStringStencilOp(zfail) << ", " << GLES2Util::Ge
tStringStencilOp(zpass) << ")"); // NOLINT |
| 889 helper_->StencilOp(fail, zfail, zpass); | 963 helper_->StencilOp(fail, zfail, zpass); |
| 890 } | 964 } |
| 891 | 965 |
| 892 void StencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass) { | 966 void StencilOpSeparate(GLenum face, GLenum fail, GLenum zfail, GLenum zpass) { |
| 967 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 893 GPU_CLIENT_LOG("[" << this << "] glStencilOpSeparate(" << GLES2Util::GetString
FaceType(face) << ", " << GLES2Util::GetStringStencilOp(fail) << ", " << GLES2Ut
il::GetStringStencilOp(zfail) << ", " << GLES2Util::GetStringStencilOp(zpass) <<
")"); // NOLINT | 968 GPU_CLIENT_LOG("[" << this << "] glStencilOpSeparate(" << GLES2Util::GetString
FaceType(face) << ", " << GLES2Util::GetStringStencilOp(fail) << ", " << GLES2Ut
il::GetStringStencilOp(zfail) << ", " << GLES2Util::GetStringStencilOp(zpass) <<
")"); // NOLINT |
| 894 helper_->StencilOpSeparate(face, fail, zfail, zpass); | 969 helper_->StencilOpSeparate(face, fail, zfail, zpass); |
| 895 } | 970 } |
| 896 | 971 |
| 897 void TexImage2D( | 972 void TexImage2D( |
| 898 GLenum target, GLint level, GLint internalformat, GLsizei width, | 973 GLenum target, GLint level, GLint internalformat, GLsizei width, |
| 899 GLsizei height, GLint border, GLenum format, GLenum type, | 974 GLsizei height, GLint border, GLenum format, GLenum type, |
| 900 const void* pixels); | 975 const void* pixels); |
| 901 | 976 |
| 902 void TexParameterf(GLenum target, GLenum pname, GLfloat param) { | 977 void TexParameterf(GLenum target, GLenum pname, GLfloat param) { |
| 978 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 903 GPU_CLIENT_LOG("[" << this << "] glTexParameterf(" << GLES2Util::GetStringText
ureBindTarget(target) << ", " << GLES2Util::GetStringTextureParameter(pname) <<
", " << param << ")"); // NOLINT | 979 GPU_CLIENT_LOG("[" << this << "] glTexParameterf(" << GLES2Util::GetStringText
ureBindTarget(target) << ", " << GLES2Util::GetStringTextureParameter(pname) <<
", " << param << ")"); // NOLINT |
| 904 helper_->TexParameterf(target, pname, param); | 980 helper_->TexParameterf(target, pname, param); |
| 905 } | 981 } |
| 906 | 982 |
| 907 void TexParameterfv(GLenum target, GLenum pname, const GLfloat* params) { | 983 void TexParameterfv(GLenum target, GLenum pname, const GLfloat* params) { |
| 984 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 908 GPU_CLIENT_LOG("[" << this << "] glTexParameterfv(" << GLES2Util::GetStringTex
tureBindTarget(target) << ", " << GLES2Util::GetStringTextureParameter(pname) <<
", " << static_cast<const void*>(params) << ")"); // NOLINT | 985 GPU_CLIENT_LOG("[" << this << "] glTexParameterfv(" << GLES2Util::GetStringTex
tureBindTarget(target) << ", " << GLES2Util::GetStringTextureParameter(pname) <<
", " << static_cast<const void*>(params) << ")"); // NOLINT |
| 909 GPU_CLIENT_LOG("values: " << params[0]); | 986 GPU_CLIENT_LOG("values: " << params[0]); |
| 910 helper_->TexParameterfvImmediate(target, pname, params); | 987 helper_->TexParameterfvImmediate(target, pname, params); |
| 911 } | 988 } |
| 912 | 989 |
| 913 void TexParameteri(GLenum target, GLenum pname, GLint param) { | 990 void TexParameteri(GLenum target, GLenum pname, GLint param) { |
| 991 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 914 GPU_CLIENT_LOG("[" << this << "] glTexParameteri(" << GLES2Util::GetStringText
ureBindTarget(target) << ", " << GLES2Util::GetStringTextureParameter(pname) <<
", " << param << ")"); // NOLINT | 992 GPU_CLIENT_LOG("[" << this << "] glTexParameteri(" << GLES2Util::GetStringText
ureBindTarget(target) << ", " << GLES2Util::GetStringTextureParameter(pname) <<
", " << param << ")"); // NOLINT |
| 915 helper_->TexParameteri(target, pname, param); | 993 helper_->TexParameteri(target, pname, param); |
| 916 } | 994 } |
| 917 | 995 |
| 918 void TexParameteriv(GLenum target, GLenum pname, const GLint* params) { | 996 void TexParameteriv(GLenum target, GLenum pname, const GLint* params) { |
| 997 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 919 GPU_CLIENT_LOG("[" << this << "] glTexParameteriv(" << GLES2Util::GetStringTex
tureBindTarget(target) << ", " << GLES2Util::GetStringTextureParameter(pname) <<
", " << static_cast<const void*>(params) << ")"); // NOLINT | 998 GPU_CLIENT_LOG("[" << this << "] glTexParameteriv(" << GLES2Util::GetStringTex
tureBindTarget(target) << ", " << GLES2Util::GetStringTextureParameter(pname) <<
", " << static_cast<const void*>(params) << ")"); // NOLINT |
| 920 GPU_CLIENT_LOG("values: " << params[0]); | 999 GPU_CLIENT_LOG("values: " << params[0]); |
| 921 helper_->TexParameterivImmediate(target, pname, params); | 1000 helper_->TexParameterivImmediate(target, pname, params); |
| 922 } | 1001 } |
| 923 | 1002 |
| 924 void TexSubImage2D( | 1003 void TexSubImage2D( |
| 925 GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, | 1004 GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, |
| 926 GLsizei height, GLenum format, GLenum type, const void* pixels); | 1005 GLsizei height, GLenum format, GLenum type, const void* pixels); |
| 927 | 1006 |
| 928 void Uniform1f(GLint location, GLfloat x) { | 1007 void Uniform1f(GLint location, GLfloat x) { |
| 1008 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 929 GPU_CLIENT_LOG("[" << this << "] glUniform1f(" << location << ", " << x << ")"
); // NOLINT | 1009 GPU_CLIENT_LOG("[" << this << "] glUniform1f(" << location << ", " << x << ")"
); // NOLINT |
| 930 helper_->Uniform1f(location, x); | 1010 helper_->Uniform1f(location, x); |
| 931 } | 1011 } |
| 932 | 1012 |
| 933 void Uniform1fv(GLint location, GLsizei count, const GLfloat* v) { | 1013 void Uniform1fv(GLint location, GLsizei count, const GLfloat* v) { |
| 1014 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 934 GPU_CLIENT_LOG("[" << this << "] glUniform1fv(" << location << ", " << count <
< ", " << static_cast<const void*>(v) << ")"); // NOLINT | 1015 GPU_CLIENT_LOG("[" << this << "] glUniform1fv(" << location << ", " << count <
< ", " << static_cast<const void*>(v) << ")"); // NOLINT |
| 935 GPU_CLIENT_LOG_CODE_BLOCK({ | 1016 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 936 for (GLsizei i = 0; i < count; ++i) { | 1017 for (GLsizei i = 0; i < count; ++i) { |
| 937 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 1]); | 1018 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 1]); |
| 938 } | 1019 } |
| 939 }); | 1020 }); |
| 940 if (count < 0) { | 1021 if (count < 0) { |
| 941 SetGLError(GL_INVALID_VALUE, "glUniform1fv: count < 0"); | 1022 SetGLError(GL_INVALID_VALUE, "glUniform1fv: count < 0"); |
| 942 return; | 1023 return; |
| 943 } | 1024 } |
| 944 helper_->Uniform1fvImmediate(location, count, v); | 1025 helper_->Uniform1fvImmediate(location, count, v); |
| 945 } | 1026 } |
| 946 | 1027 |
| 947 void Uniform1i(GLint location, GLint x) { | 1028 void Uniform1i(GLint location, GLint x) { |
| 1029 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 948 GPU_CLIENT_LOG("[" << this << "] glUniform1i(" << location << ", " << x << ")"
); // NOLINT | 1030 GPU_CLIENT_LOG("[" << this << "] glUniform1i(" << location << ", " << x << ")"
); // NOLINT |
| 949 helper_->Uniform1i(location, x); | 1031 helper_->Uniform1i(location, x); |
| 950 } | 1032 } |
| 951 | 1033 |
| 952 void Uniform1iv(GLint location, GLsizei count, const GLint* v) { | 1034 void Uniform1iv(GLint location, GLsizei count, const GLint* v) { |
| 1035 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 953 GPU_CLIENT_LOG("[" << this << "] glUniform1iv(" << location << ", " << count <
< ", " << static_cast<const void*>(v) << ")"); // NOLINT | 1036 GPU_CLIENT_LOG("[" << this << "] glUniform1iv(" << location << ", " << count <
< ", " << static_cast<const void*>(v) << ")"); // NOLINT |
| 954 GPU_CLIENT_LOG_CODE_BLOCK({ | 1037 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 955 for (GLsizei i = 0; i < count; ++i) { | 1038 for (GLsizei i = 0; i < count; ++i) { |
| 956 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 1]); | 1039 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 1]); |
| 957 } | 1040 } |
| 958 }); | 1041 }); |
| 959 if (count < 0) { | 1042 if (count < 0) { |
| 960 SetGLError(GL_INVALID_VALUE, "glUniform1iv: count < 0"); | 1043 SetGLError(GL_INVALID_VALUE, "glUniform1iv: count < 0"); |
| 961 return; | 1044 return; |
| 962 } | 1045 } |
| 963 helper_->Uniform1ivImmediate(location, count, v); | 1046 helper_->Uniform1ivImmediate(location, count, v); |
| 964 } | 1047 } |
| 965 | 1048 |
| 966 void Uniform2f(GLint location, GLfloat x, GLfloat y) { | 1049 void Uniform2f(GLint location, GLfloat x, GLfloat y) { |
| 1050 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 967 GPU_CLIENT_LOG("[" << this << "] glUniform2f(" << location << ", " << x << ",
" << y << ")"); // NOLINT | 1051 GPU_CLIENT_LOG("[" << this << "] glUniform2f(" << location << ", " << x << ",
" << y << ")"); // NOLINT |
| 968 helper_->Uniform2f(location, x, y); | 1052 helper_->Uniform2f(location, x, y); |
| 969 } | 1053 } |
| 970 | 1054 |
| 971 void Uniform2fv(GLint location, GLsizei count, const GLfloat* v) { | 1055 void Uniform2fv(GLint location, GLsizei count, const GLfloat* v) { |
| 1056 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 972 GPU_CLIENT_LOG("[" << this << "] glUniform2fv(" << location << ", " << count <
< ", " << static_cast<const void*>(v) << ")"); // NOLINT | 1057 GPU_CLIENT_LOG("[" << this << "] glUniform2fv(" << location << ", " << count <
< ", " << static_cast<const void*>(v) << ")"); // NOLINT |
| 973 GPU_CLIENT_LOG_CODE_BLOCK({ | 1058 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 974 for (GLsizei i = 0; i < count; ++i) { | 1059 for (GLsizei i = 0; i < count; ++i) { |
| 975 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 2] << ", " << v[1 + i * 2])
; // NOLINT | 1060 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 2] << ", " << v[1 + i * 2])
; // NOLINT |
| 976 } | 1061 } |
| 977 }); | 1062 }); |
| 978 if (count < 0) { | 1063 if (count < 0) { |
| 979 SetGLError(GL_INVALID_VALUE, "glUniform2fv: count < 0"); | 1064 SetGLError(GL_INVALID_VALUE, "glUniform2fv: count < 0"); |
| 980 return; | 1065 return; |
| 981 } | 1066 } |
| 982 helper_->Uniform2fvImmediate(location, count, v); | 1067 helper_->Uniform2fvImmediate(location, count, v); |
| 983 } | 1068 } |
| 984 | 1069 |
| 985 void Uniform2i(GLint location, GLint x, GLint y) { | 1070 void Uniform2i(GLint location, GLint x, GLint y) { |
| 1071 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 986 GPU_CLIENT_LOG("[" << this << "] glUniform2i(" << location << ", " << x << ",
" << y << ")"); // NOLINT | 1072 GPU_CLIENT_LOG("[" << this << "] glUniform2i(" << location << ", " << x << ",
" << y << ")"); // NOLINT |
| 987 helper_->Uniform2i(location, x, y); | 1073 helper_->Uniform2i(location, x, y); |
| 988 } | 1074 } |
| 989 | 1075 |
| 990 void Uniform2iv(GLint location, GLsizei count, const GLint* v) { | 1076 void Uniform2iv(GLint location, GLsizei count, const GLint* v) { |
| 1077 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 991 GPU_CLIENT_LOG("[" << this << "] glUniform2iv(" << location << ", " << count <
< ", " << static_cast<const void*>(v) << ")"); // NOLINT | 1078 GPU_CLIENT_LOG("[" << this << "] glUniform2iv(" << location << ", " << count <
< ", " << static_cast<const void*>(v) << ")"); // NOLINT |
| 992 GPU_CLIENT_LOG_CODE_BLOCK({ | 1079 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 993 for (GLsizei i = 0; i < count; ++i) { | 1080 for (GLsizei i = 0; i < count; ++i) { |
| 994 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 2] << ", " << v[1 + i * 2])
; // NOLINT | 1081 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 2] << ", " << v[1 + i * 2])
; // NOLINT |
| 995 } | 1082 } |
| 996 }); | 1083 }); |
| 997 if (count < 0) { | 1084 if (count < 0) { |
| 998 SetGLError(GL_INVALID_VALUE, "glUniform2iv: count < 0"); | 1085 SetGLError(GL_INVALID_VALUE, "glUniform2iv: count < 0"); |
| 999 return; | 1086 return; |
| 1000 } | 1087 } |
| 1001 helper_->Uniform2ivImmediate(location, count, v); | 1088 helper_->Uniform2ivImmediate(location, count, v); |
| 1002 } | 1089 } |
| 1003 | 1090 |
| 1004 void Uniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z) { | 1091 void Uniform3f(GLint location, GLfloat x, GLfloat y, GLfloat z) { |
| 1092 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1005 GPU_CLIENT_LOG("[" << this << "] glUniform3f(" << location << ", " << x << ",
" << y << ", " << z << ")"); // NOLINT | 1093 GPU_CLIENT_LOG("[" << this << "] glUniform3f(" << location << ", " << x << ",
" << y << ", " << z << ")"); // NOLINT |
| 1006 helper_->Uniform3f(location, x, y, z); | 1094 helper_->Uniform3f(location, x, y, z); |
| 1007 } | 1095 } |
| 1008 | 1096 |
| 1009 void Uniform3fv(GLint location, GLsizei count, const GLfloat* v) { | 1097 void Uniform3fv(GLint location, GLsizei count, const GLfloat* v) { |
| 1098 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1010 GPU_CLIENT_LOG("[" << this << "] glUniform3fv(" << location << ", " << count <
< ", " << static_cast<const void*>(v) << ")"); // NOLINT | 1099 GPU_CLIENT_LOG("[" << this << "] glUniform3fv(" << location << ", " << count <
< ", " << static_cast<const void*>(v) << ")"); // NOLINT |
| 1011 GPU_CLIENT_LOG_CODE_BLOCK({ | 1100 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 1012 for (GLsizei i = 0; i < count; ++i) { | 1101 for (GLsizei i = 0; i < count; ++i) { |
| 1013 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 3] << ", " << v[1 + i * 3]
<< ", " << v[2 + i * 3]); // NOLINT | 1102 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 3] << ", " << v[1 + i * 3]
<< ", " << v[2 + i * 3]); // NOLINT |
| 1014 } | 1103 } |
| 1015 }); | 1104 }); |
| 1016 if (count < 0) { | 1105 if (count < 0) { |
| 1017 SetGLError(GL_INVALID_VALUE, "glUniform3fv: count < 0"); | 1106 SetGLError(GL_INVALID_VALUE, "glUniform3fv: count < 0"); |
| 1018 return; | 1107 return; |
| 1019 } | 1108 } |
| 1020 helper_->Uniform3fvImmediate(location, count, v); | 1109 helper_->Uniform3fvImmediate(location, count, v); |
| 1021 } | 1110 } |
| 1022 | 1111 |
| 1023 void Uniform3i(GLint location, GLint x, GLint y, GLint z) { | 1112 void Uniform3i(GLint location, GLint x, GLint y, GLint z) { |
| 1113 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1024 GPU_CLIENT_LOG("[" << this << "] glUniform3i(" << location << ", " << x << ",
" << y << ", " << z << ")"); // NOLINT | 1114 GPU_CLIENT_LOG("[" << this << "] glUniform3i(" << location << ", " << x << ",
" << y << ", " << z << ")"); // NOLINT |
| 1025 helper_->Uniform3i(location, x, y, z); | 1115 helper_->Uniform3i(location, x, y, z); |
| 1026 } | 1116 } |
| 1027 | 1117 |
| 1028 void Uniform3iv(GLint location, GLsizei count, const GLint* v) { | 1118 void Uniform3iv(GLint location, GLsizei count, const GLint* v) { |
| 1119 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1029 GPU_CLIENT_LOG("[" << this << "] glUniform3iv(" << location << ", " << count <
< ", " << static_cast<const void*>(v) << ")"); // NOLINT | 1120 GPU_CLIENT_LOG("[" << this << "] glUniform3iv(" << location << ", " << count <
< ", " << static_cast<const void*>(v) << ")"); // NOLINT |
| 1030 GPU_CLIENT_LOG_CODE_BLOCK({ | 1121 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 1031 for (GLsizei i = 0; i < count; ++i) { | 1122 for (GLsizei i = 0; i < count; ++i) { |
| 1032 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 3] << ", " << v[1 + i * 3]
<< ", " << v[2 + i * 3]); // NOLINT | 1123 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 3] << ", " << v[1 + i * 3]
<< ", " << v[2 + i * 3]); // NOLINT |
| 1033 } | 1124 } |
| 1034 }); | 1125 }); |
| 1035 if (count < 0) { | 1126 if (count < 0) { |
| 1036 SetGLError(GL_INVALID_VALUE, "glUniform3iv: count < 0"); | 1127 SetGLError(GL_INVALID_VALUE, "glUniform3iv: count < 0"); |
| 1037 return; | 1128 return; |
| 1038 } | 1129 } |
| 1039 helper_->Uniform3ivImmediate(location, count, v); | 1130 helper_->Uniform3ivImmediate(location, count, v); |
| 1040 } | 1131 } |
| 1041 | 1132 |
| 1042 void Uniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { | 1133 void Uniform4f(GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { |
| 1134 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1043 GPU_CLIENT_LOG("[" << this << "] glUniform4f(" << location << ", " << x << ",
" << y << ", " << z << ", " << w << ")"); // NOLINT | 1135 GPU_CLIENT_LOG("[" << this << "] glUniform4f(" << location << ", " << x << ",
" << y << ", " << z << ", " << w << ")"); // NOLINT |
| 1044 helper_->Uniform4f(location, x, y, z, w); | 1136 helper_->Uniform4f(location, x, y, z, w); |
| 1045 } | 1137 } |
| 1046 | 1138 |
| 1047 void Uniform4fv(GLint location, GLsizei count, const GLfloat* v) { | 1139 void Uniform4fv(GLint location, GLsizei count, const GLfloat* v) { |
| 1140 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1048 GPU_CLIENT_LOG("[" << this << "] glUniform4fv(" << location << ", " << count <
< ", " << static_cast<const void*>(v) << ")"); // NOLINT | 1141 GPU_CLIENT_LOG("[" << this << "] glUniform4fv(" << location << ", " << count <
< ", " << static_cast<const void*>(v) << ")"); // NOLINT |
| 1049 GPU_CLIENT_LOG_CODE_BLOCK({ | 1142 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 1050 for (GLsizei i = 0; i < count; ++i) { | 1143 for (GLsizei i = 0; i < count; ++i) { |
| 1051 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 4] << ", " << v[1 + i * 4]
<< ", " << v[2 + i * 4] << ", " << v[3 + i * 4]); // NOLINT | 1144 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 4] << ", " << v[1 + i * 4]
<< ", " << v[2 + i * 4] << ", " << v[3 + i * 4]); // NOLINT |
| 1052 } | 1145 } |
| 1053 }); | 1146 }); |
| 1054 if (count < 0) { | 1147 if (count < 0) { |
| 1055 SetGLError(GL_INVALID_VALUE, "glUniform4fv: count < 0"); | 1148 SetGLError(GL_INVALID_VALUE, "glUniform4fv: count < 0"); |
| 1056 return; | 1149 return; |
| 1057 } | 1150 } |
| 1058 helper_->Uniform4fvImmediate(location, count, v); | 1151 helper_->Uniform4fvImmediate(location, count, v); |
| 1059 } | 1152 } |
| 1060 | 1153 |
| 1061 void Uniform4i(GLint location, GLint x, GLint y, GLint z, GLint w) { | 1154 void Uniform4i(GLint location, GLint x, GLint y, GLint z, GLint w) { |
| 1155 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1062 GPU_CLIENT_LOG("[" << this << "] glUniform4i(" << location << ", " << x << ",
" << y << ", " << z << ", " << w << ")"); // NOLINT | 1156 GPU_CLIENT_LOG("[" << this << "] glUniform4i(" << location << ", " << x << ",
" << y << ", " << z << ", " << w << ")"); // NOLINT |
| 1063 helper_->Uniform4i(location, x, y, z, w); | 1157 helper_->Uniform4i(location, x, y, z, w); |
| 1064 } | 1158 } |
| 1065 | 1159 |
| 1066 void Uniform4iv(GLint location, GLsizei count, const GLint* v) { | 1160 void Uniform4iv(GLint location, GLsizei count, const GLint* v) { |
| 1161 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1067 GPU_CLIENT_LOG("[" << this << "] glUniform4iv(" << location << ", " << count <
< ", " << static_cast<const void*>(v) << ")"); // NOLINT | 1162 GPU_CLIENT_LOG("[" << this << "] glUniform4iv(" << location << ", " << count <
< ", " << static_cast<const void*>(v) << ")"); // NOLINT |
| 1068 GPU_CLIENT_LOG_CODE_BLOCK({ | 1163 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 1069 for (GLsizei i = 0; i < count; ++i) { | 1164 for (GLsizei i = 0; i < count; ++i) { |
| 1070 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 4] << ", " << v[1 + i * 4]
<< ", " << v[2 + i * 4] << ", " << v[3 + i * 4]); // NOLINT | 1165 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 4] << ", " << v[1 + i * 4]
<< ", " << v[2 + i * 4] << ", " << v[3 + i * 4]); // NOLINT |
| 1071 } | 1166 } |
| 1072 }); | 1167 }); |
| 1073 if (count < 0) { | 1168 if (count < 0) { |
| 1074 SetGLError(GL_INVALID_VALUE, "glUniform4iv: count < 0"); | 1169 SetGLError(GL_INVALID_VALUE, "glUniform4iv: count < 0"); |
| 1075 return; | 1170 return; |
| 1076 } | 1171 } |
| 1077 helper_->Uniform4ivImmediate(location, count, v); | 1172 helper_->Uniform4ivImmediate(location, count, v); |
| 1078 } | 1173 } |
| 1079 | 1174 |
| 1080 void UniformMatrix2fv( | 1175 void UniformMatrix2fv( |
| 1081 GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { | 1176 GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { |
| 1177 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1082 GPU_CLIENT_LOG("[" << this << "] glUniformMatrix2fv(" << location << ", " << c
ount << ", " << GLES2Util::GetStringBool(transpose) << ", " << static_cast<const
void*>(value) << ")"); // NOLINT | 1178 GPU_CLIENT_LOG("[" << this << "] glUniformMatrix2fv(" << location << ", " << c
ount << ", " << GLES2Util::GetStringBool(transpose) << ", " << static_cast<const
void*>(value) << ")"); // NOLINT |
| 1083 GPU_CLIENT_LOG_CODE_BLOCK({ | 1179 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 1084 for (GLsizei i = 0; i < count; ++i) { | 1180 for (GLsizei i = 0; i < count; ++i) { |
| 1085 GPU_CLIENT_LOG(" " << i << ": " << value[0 + i * 4] << ", " << value[1 +
i * 4] << ", " << value[2 + i * 4] << ", " << value[3 + i * 4]); // NOLINT | 1181 GPU_CLIENT_LOG(" " << i << ": " << value[0 + i * 4] << ", " << value[1 +
i * 4] << ", " << value[2 + i * 4] << ", " << value[3 + i * 4]); // NOLINT |
| 1086 } | 1182 } |
| 1087 }); | 1183 }); |
| 1088 if (count < 0) { | 1184 if (count < 0) { |
| 1089 SetGLError(GL_INVALID_VALUE, "glUniformMatrix2fv: count < 0"); | 1185 SetGLError(GL_INVALID_VALUE, "glUniformMatrix2fv: count < 0"); |
| 1090 return; | 1186 return; |
| 1091 } | 1187 } |
| 1092 helper_->UniformMatrix2fvImmediate(location, count, transpose, value); | 1188 helper_->UniformMatrix2fvImmediate(location, count, transpose, value); |
| 1093 } | 1189 } |
| 1094 | 1190 |
| 1095 void UniformMatrix3fv( | 1191 void UniformMatrix3fv( |
| 1096 GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { | 1192 GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { |
| 1193 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1097 GPU_CLIENT_LOG("[" << this << "] glUniformMatrix3fv(" << location << ", " << c
ount << ", " << GLES2Util::GetStringBool(transpose) << ", " << static_cast<const
void*>(value) << ")"); // NOLINT | 1194 GPU_CLIENT_LOG("[" << this << "] glUniformMatrix3fv(" << location << ", " << c
ount << ", " << GLES2Util::GetStringBool(transpose) << ", " << static_cast<const
void*>(value) << ")"); // NOLINT |
| 1098 GPU_CLIENT_LOG_CODE_BLOCK({ | 1195 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 1099 for (GLsizei i = 0; i < count; ++i) { | 1196 for (GLsizei i = 0; i < count; ++i) { |
| 1100 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 | 1197 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 |
| 1101 } | 1198 } |
| 1102 }); | 1199 }); |
| 1103 if (count < 0) { | 1200 if (count < 0) { |
| 1104 SetGLError(GL_INVALID_VALUE, "glUniformMatrix3fv: count < 0"); | 1201 SetGLError(GL_INVALID_VALUE, "glUniformMatrix3fv: count < 0"); |
| 1105 return; | 1202 return; |
| 1106 } | 1203 } |
| 1107 helper_->UniformMatrix3fvImmediate(location, count, transpose, value); | 1204 helper_->UniformMatrix3fvImmediate(location, count, transpose, value); |
| 1108 } | 1205 } |
| 1109 | 1206 |
| 1110 void UniformMatrix4fv( | 1207 void UniformMatrix4fv( |
| 1111 GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { | 1208 GLint location, GLsizei count, GLboolean transpose, const GLfloat* value) { |
| 1209 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1112 GPU_CLIENT_LOG("[" << this << "] glUniformMatrix4fv(" << location << ", " << c
ount << ", " << GLES2Util::GetStringBool(transpose) << ", " << static_cast<const
void*>(value) << ")"); // NOLINT | 1210 GPU_CLIENT_LOG("[" << this << "] glUniformMatrix4fv(" << location << ", " << c
ount << ", " << GLES2Util::GetStringBool(transpose) << ", " << static_cast<const
void*>(value) << ")"); // NOLINT |
| 1113 GPU_CLIENT_LOG_CODE_BLOCK({ | 1211 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 1114 for (GLsizei i = 0; i < count; ++i) { | 1212 for (GLsizei i = 0; i < count; ++i) { |
| 1115 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 | 1213 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 |
| 1116 } | 1214 } |
| 1117 }); | 1215 }); |
| 1118 if (count < 0) { | 1216 if (count < 0) { |
| 1119 SetGLError(GL_INVALID_VALUE, "glUniformMatrix4fv: count < 0"); | 1217 SetGLError(GL_INVALID_VALUE, "glUniformMatrix4fv: count < 0"); |
| 1120 return; | 1218 return; |
| 1121 } | 1219 } |
| 1122 helper_->UniformMatrix4fvImmediate(location, count, transpose, value); | 1220 helper_->UniformMatrix4fvImmediate(location, count, transpose, value); |
| 1123 } | 1221 } |
| 1124 | 1222 |
| 1125 void UseProgram(GLuint program) { | 1223 void UseProgram(GLuint program) { |
| 1224 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1126 GPU_CLIENT_LOG("[" << this << "] glUseProgram(" << program << ")"); | 1225 GPU_CLIENT_LOG("[" << this << "] glUseProgram(" << program << ")"); |
| 1127 helper_->UseProgram(program); | 1226 helper_->UseProgram(program); |
| 1128 } | 1227 } |
| 1129 | 1228 |
| 1130 void ValidateProgram(GLuint program) { | 1229 void ValidateProgram(GLuint program) { |
| 1230 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1131 GPU_CLIENT_LOG("[" << this << "] glValidateProgram(" << program << ")"); | 1231 GPU_CLIENT_LOG("[" << this << "] glValidateProgram(" << program << ")"); |
| 1132 helper_->ValidateProgram(program); | 1232 helper_->ValidateProgram(program); |
| 1133 } | 1233 } |
| 1134 | 1234 |
| 1135 void VertexAttrib1f(GLuint indx, GLfloat x) { | 1235 void VertexAttrib1f(GLuint indx, GLfloat x) { |
| 1236 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1136 GPU_CLIENT_LOG("[" << this << "] glVertexAttrib1f(" << indx << ", " << x << ")
"); // NOLINT | 1237 GPU_CLIENT_LOG("[" << this << "] glVertexAttrib1f(" << indx << ", " << x << ")
"); // NOLINT |
| 1137 helper_->VertexAttrib1f(indx, x); | 1238 helper_->VertexAttrib1f(indx, x); |
| 1138 } | 1239 } |
| 1139 | 1240 |
| 1140 void VertexAttrib1fv(GLuint indx, const GLfloat* values) { | 1241 void VertexAttrib1fv(GLuint indx, const GLfloat* values) { |
| 1242 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1141 GPU_CLIENT_LOG("[" << this << "] glVertexAttrib1fv(" << indx << ", " << static
_cast<const void*>(values) << ")"); // NOLINT | 1243 GPU_CLIENT_LOG("[" << this << "] glVertexAttrib1fv(" << indx << ", " << static
_cast<const void*>(values) << ")"); // NOLINT |
| 1142 GPU_CLIENT_LOG("values: " << values[0]); | 1244 GPU_CLIENT_LOG("values: " << values[0]); |
| 1143 helper_->VertexAttrib1fvImmediate(indx, values); | 1245 helper_->VertexAttrib1fvImmediate(indx, values); |
| 1144 } | 1246 } |
| 1145 | 1247 |
| 1146 void VertexAttrib2f(GLuint indx, GLfloat x, GLfloat y) { | 1248 void VertexAttrib2f(GLuint indx, GLfloat x, GLfloat y) { |
| 1249 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1147 GPU_CLIENT_LOG("[" << this << "] glVertexAttrib2f(" << indx << ", " << x << ",
" << y << ")"); // NOLINT | 1250 GPU_CLIENT_LOG("[" << this << "] glVertexAttrib2f(" << indx << ", " << x << ",
" << y << ")"); // NOLINT |
| 1148 helper_->VertexAttrib2f(indx, x, y); | 1251 helper_->VertexAttrib2f(indx, x, y); |
| 1149 } | 1252 } |
| 1150 | 1253 |
| 1151 void VertexAttrib2fv(GLuint indx, const GLfloat* values) { | 1254 void VertexAttrib2fv(GLuint indx, const GLfloat* values) { |
| 1255 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1152 GPU_CLIENT_LOG("[" << this << "] glVertexAttrib2fv(" << indx << ", " << static
_cast<const void*>(values) << ")"); // NOLINT | 1256 GPU_CLIENT_LOG("[" << this << "] glVertexAttrib2fv(" << indx << ", " << static
_cast<const void*>(values) << ")"); // NOLINT |
| 1153 GPU_CLIENT_LOG("values: " << values[0] << ", " << values[1]); | 1257 GPU_CLIENT_LOG("values: " << values[0] << ", " << values[1]); |
| 1154 helper_->VertexAttrib2fvImmediate(indx, values); | 1258 helper_->VertexAttrib2fvImmediate(indx, values); |
| 1155 } | 1259 } |
| 1156 | 1260 |
| 1157 void VertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z) { | 1261 void VertexAttrib3f(GLuint indx, GLfloat x, GLfloat y, GLfloat z) { |
| 1262 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1158 GPU_CLIENT_LOG("[" << this << "] glVertexAttrib3f(" << indx << ", " << x << ",
" << y << ", " << z << ")"); // NOLINT | 1263 GPU_CLIENT_LOG("[" << this << "] glVertexAttrib3f(" << indx << ", " << x << ",
" << y << ", " << z << ")"); // NOLINT |
| 1159 helper_->VertexAttrib3f(indx, x, y, z); | 1264 helper_->VertexAttrib3f(indx, x, y, z); |
| 1160 } | 1265 } |
| 1161 | 1266 |
| 1162 void VertexAttrib3fv(GLuint indx, const GLfloat* values) { | 1267 void VertexAttrib3fv(GLuint indx, const GLfloat* values) { |
| 1268 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1163 GPU_CLIENT_LOG("[" << this << "] glVertexAttrib3fv(" << indx << ", " << static
_cast<const void*>(values) << ")"); // NOLINT | 1269 GPU_CLIENT_LOG("[" << this << "] glVertexAttrib3fv(" << indx << ", " << static
_cast<const void*>(values) << ")"); // NOLINT |
| 1164 GPU_CLIENT_LOG("values: " << values[0] << ", " << values[1] << ", " << values[
2]); // NOLINT | 1270 GPU_CLIENT_LOG("values: " << values[0] << ", " << values[1] << ", " << values[
2]); // NOLINT |
| 1165 helper_->VertexAttrib3fvImmediate(indx, values); | 1271 helper_->VertexAttrib3fvImmediate(indx, values); |
| 1166 } | 1272 } |
| 1167 | 1273 |
| 1168 void VertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { | 1274 void VertexAttrib4f(GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w) { |
| 1275 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1169 GPU_CLIENT_LOG("[" << this << "] glVertexAttrib4f(" << indx << ", " << x << ",
" << y << ", " << z << ", " << w << ")"); // NOLINT | 1276 GPU_CLIENT_LOG("[" << this << "] glVertexAttrib4f(" << indx << ", " << x << ",
" << y << ", " << z << ", " << w << ")"); // NOLINT |
| 1170 helper_->VertexAttrib4f(indx, x, y, z, w); | 1277 helper_->VertexAttrib4f(indx, x, y, z, w); |
| 1171 } | 1278 } |
| 1172 | 1279 |
| 1173 void VertexAttrib4fv(GLuint indx, const GLfloat* values) { | 1280 void VertexAttrib4fv(GLuint indx, const GLfloat* values) { |
| 1281 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1174 GPU_CLIENT_LOG("[" << this << "] glVertexAttrib4fv(" << indx << ", " << static
_cast<const void*>(values) << ")"); // NOLINT | 1282 GPU_CLIENT_LOG("[" << this << "] glVertexAttrib4fv(" << indx << ", " << static
_cast<const void*>(values) << ")"); // NOLINT |
| 1175 GPU_CLIENT_LOG("values: " << values[0] << ", " << values[1] << ", " << values[
2] << ", " << values[3]); // NOLINT | 1283 GPU_CLIENT_LOG("values: " << values[0] << ", " << values[1] << ", " << values[
2] << ", " << values[3]); // NOLINT |
| 1176 helper_->VertexAttrib4fvImmediate(indx, values); | 1284 helper_->VertexAttrib4fvImmediate(indx, values); |
| 1177 } | 1285 } |
| 1178 | 1286 |
| 1179 void VertexAttribPointer( | 1287 void VertexAttribPointer( |
| 1180 GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, | 1288 GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, |
| 1181 const void* ptr); | 1289 const void* ptr); |
| 1182 | 1290 |
| 1183 void Viewport(GLint x, GLint y, GLsizei width, GLsizei height) { | 1291 void Viewport(GLint x, GLint y, GLsizei width, GLsizei height) { |
| 1292 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1184 GPU_CLIENT_LOG("[" << this << "] glViewport(" << x << ", " << y << ", " << wid
th << ", " << height << ")"); // NOLINT | 1293 GPU_CLIENT_LOG("[" << this << "] glViewport(" << x << ", " << y << ", " << wid
th << ", " << height << ")"); // NOLINT |
| 1185 if (width < 0) { | 1294 if (width < 0) { |
| 1186 SetGLError(GL_INVALID_VALUE, "glViewport: width < 0"); | 1295 SetGLError(GL_INVALID_VALUE, "glViewport: width < 0"); |
| 1187 return; | 1296 return; |
| 1188 } | 1297 } |
| 1189 if (height < 0) { | 1298 if (height < 0) { |
| 1190 SetGLError(GL_INVALID_VALUE, "glViewport: height < 0"); | 1299 SetGLError(GL_INVALID_VALUE, "glViewport: height < 0"); |
| 1191 return; | 1300 return; |
| 1192 } | 1301 } |
| 1193 helper_->Viewport(x, y, width, height); | 1302 helper_->Viewport(x, y, width, height); |
| 1194 } | 1303 } |
| 1195 | 1304 |
| 1196 void BlitFramebufferEXT( | 1305 void BlitFramebufferEXT( |
| 1197 GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, | 1306 GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, |
| 1198 GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { | 1307 GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter) { |
| 1308 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1199 GPU_CLIENT_LOG("[" << this << "] glBlitFramebufferEXT(" << srcX0 << ", " << sr
cY0 << ", " << srcX1 << ", " << srcY1 << ", " << dstX0 << ", " << dstY0 << ", "
<< dstX1 << ", " << dstY1 << ", " << mask << ", " << GLES2Util::GetStringBlitFil
ter(filter) << ")"); // NOLINT | 1309 GPU_CLIENT_LOG("[" << this << "] glBlitFramebufferEXT(" << srcX0 << ", " << sr
cY0 << ", " << srcX1 << ", " << srcY1 << ", " << dstX0 << ", " << dstY0 << ", "
<< dstX1 << ", " << dstY1 << ", " << mask << ", " << GLES2Util::GetStringBlitFil
ter(filter) << ")"); // NOLINT |
| 1200 helper_->BlitFramebufferEXT( | 1310 helper_->BlitFramebufferEXT( |
| 1201 srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); | 1311 srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); |
| 1202 } | 1312 } |
| 1203 | 1313 |
| 1204 void RenderbufferStorageMultisampleEXT( | 1314 void RenderbufferStorageMultisampleEXT( |
| 1205 GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, | 1315 GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, |
| 1206 GLsizei height) { | 1316 GLsizei height) { |
| 1317 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1207 GPU_CLIENT_LOG("[" << this << "] glRenderbufferStorageMultisampleEXT(" << GLES
2Util::GetStringRenderBufferTarget(target) << ", " << samples << ", " << GLES2Ut
il::GetStringRenderBufferFormat(internalformat) << ", " << width << ", " << heig
ht << ")"); // NOLINT | 1318 GPU_CLIENT_LOG("[" << this << "] glRenderbufferStorageMultisampleEXT(" << GLES
2Util::GetStringRenderBufferTarget(target) << ", " << samples << ", " << GLES2Ut
il::GetStringRenderBufferFormat(internalformat) << ", " << width << ", " << heig
ht << ")"); // NOLINT |
| 1208 if (samples < 0) { | 1319 if (samples < 0) { |
| 1209 SetGLError( | 1320 SetGLError( |
| 1210 GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT: samples < 0"); | 1321 GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT: samples < 0"); |
| 1211 return; | 1322 return; |
| 1212 } | 1323 } |
| 1213 if (width < 0) { | 1324 if (width < 0) { |
| 1214 SetGLError( | 1325 SetGLError( |
| 1215 GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT: width < 0"); | 1326 GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT: width < 0"); |
| 1216 return; | 1327 return; |
| 1217 } | 1328 } |
| 1218 if (height < 0) { | 1329 if (height < 0) { |
| 1219 SetGLError( | 1330 SetGLError( |
| 1220 GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT: height < 0"); | 1331 GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT: height < 0"); |
| 1221 return; | 1332 return; |
| 1222 } | 1333 } |
| 1223 helper_->RenderbufferStorageMultisampleEXT( | 1334 helper_->RenderbufferStorageMultisampleEXT( |
| 1224 target, samples, internalformat, width, height); | 1335 target, samples, internalformat, width, height); |
| 1225 } | 1336 } |
| 1226 | 1337 |
| 1227 void TexStorage2DEXT( | 1338 void TexStorage2DEXT( |
| 1228 GLenum target, GLsizei levels, GLint internalFormat, GLsizei width, | 1339 GLenum target, GLsizei levels, GLint internalFormat, GLsizei width, |
| 1229 GLsizei height) { | 1340 GLsizei height) { |
| 1341 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1230 GPU_CLIENT_LOG("[" << this << "] glTexStorage2DEXT(" << GLES2Util::GetStringTe
xtureTarget(target) << ", " << levels << ", " << internalFormat << ", " << width
<< ", " << height << ")"); // NOLINT | 1342 GPU_CLIENT_LOG("[" << this << "] glTexStorage2DEXT(" << GLES2Util::GetStringTe
xtureTarget(target) << ", " << levels << ", " << internalFormat << ", " << width
<< ", " << height << ")"); // NOLINT |
| 1231 if (levels < 0) { | 1343 if (levels < 0) { |
| 1232 SetGLError(GL_INVALID_VALUE, "glTexStorage2DEXT: levels < 0"); | 1344 SetGLError(GL_INVALID_VALUE, "glTexStorage2DEXT: levels < 0"); |
| 1233 return; | 1345 return; |
| 1234 } | 1346 } |
| 1235 if (width < 0) { | 1347 if (width < 0) { |
| 1236 SetGLError(GL_INVALID_VALUE, "glTexStorage2DEXT: width < 0"); | 1348 SetGLError(GL_INVALID_VALUE, "glTexStorage2DEXT: width < 0"); |
| 1237 return; | 1349 return; |
| 1238 } | 1350 } |
| 1239 if (height < 0) { | 1351 if (height < 0) { |
| 1240 SetGLError(GL_INVALID_VALUE, "glTexStorage2DEXT: height < 0"); | 1352 SetGLError(GL_INVALID_VALUE, "glTexStorage2DEXT: height < 0"); |
| 1241 return; | 1353 return; |
| 1242 } | 1354 } |
| 1243 helper_->TexStorage2DEXT(target, levels, internalFormat, width, height); | 1355 helper_->TexStorage2DEXT(target, levels, internalFormat, width, height); |
| 1244 } | 1356 } |
| 1245 | 1357 |
| 1246 void SwapBuffers(); | 1358 void SwapBuffers(); |
| 1247 | 1359 |
| 1248 GLuint GetMaxValueInBufferCHROMIUM( | 1360 GLuint GetMaxValueInBufferCHROMIUM( |
| 1249 GLuint buffer_id, GLsizei count, GLenum type, GLuint offset) { | 1361 GLuint buffer_id, GLsizei count, GLenum type, GLuint offset) { |
| 1362 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1250 GPU_CLIENT_LOG("[" << this << "] glGetMaxValueInBufferCHROMIUM(" << buffer_id
<< ", " << count << ", " << GLES2Util::GetStringGetMaxIndexType(type) << ", " <<
offset << ")"); // NOLINT | 1363 GPU_CLIENT_LOG("[" << this << "] glGetMaxValueInBufferCHROMIUM(" << buffer_id
<< ", " << count << ", " << GLES2Util::GetStringGetMaxIndexType(type) << ", " <<
offset << ")"); // NOLINT |
| 1251 typedef GetMaxValueInBufferCHROMIUM::Result Result; | 1364 typedef GetMaxValueInBufferCHROMIUM::Result Result; |
| 1252 Result* result = GetResultAs<Result*>(); | 1365 Result* result = GetResultAs<Result*>(); |
| 1253 *result = 0; | 1366 *result = 0; |
| 1254 helper_->GetMaxValueInBufferCHROMIUM( | 1367 helper_->GetMaxValueInBufferCHROMIUM( |
| 1255 buffer_id, count, type, offset, GetResultShmId(), GetResultShmOffset()); | 1368 buffer_id, count, type, offset, GetResultShmId(), GetResultShmOffset()); |
| 1256 WaitForCmd(); | 1369 WaitForCmd(); |
| 1257 GPU_CLIENT_LOG("returned " << *result); | 1370 GPU_CLIENT_LOG("returned " << *result); |
| 1258 return *result; | 1371 return *result; |
| 1259 } | 1372 } |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1293 | 1406 |
| 1294 void GetProgramInfoCHROMIUM( | 1407 void GetProgramInfoCHROMIUM( |
| 1295 GLuint program, GLsizei bufsize, GLsizei* size, void* info); | 1408 GLuint program, GLsizei bufsize, GLsizei* size, void* info); |
| 1296 | 1409 |
| 1297 GLuint CreateStreamTextureCHROMIUM(GLuint texture); | 1410 GLuint CreateStreamTextureCHROMIUM(GLuint texture); |
| 1298 | 1411 |
| 1299 void DestroyStreamTextureCHROMIUM(GLuint texture); | 1412 void DestroyStreamTextureCHROMIUM(GLuint texture); |
| 1300 | 1413 |
| 1301 void GetTranslatedShaderSourceANGLE( | 1414 void GetTranslatedShaderSourceANGLE( |
| 1302 GLuint shader, GLsizei bufsize, GLsizei* length, char* source) { | 1415 GLuint shader, GLsizei bufsize, GLsizei* length, char* source) { |
| 1416 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1303 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLsizei, length); | 1417 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLsizei, length); |
| 1304 GPU_CLIENT_LOG("[" << this << "] glGetTranslatedShaderSourceANGLE" << "(" | 1418 GPU_CLIENT_LOG("[" << this << "] glGetTranslatedShaderSourceANGLE" << "(" |
| 1305 << shader << ", " | 1419 << shader << ", " |
| 1306 << bufsize << ", " | 1420 << bufsize << ", " |
| 1307 << static_cast<void*>(length) << ", " | 1421 << static_cast<void*>(length) << ", " |
| 1308 << static_cast<void*>(source) << ")"); | 1422 << static_cast<void*>(source) << ")"); |
| 1309 helper_->SetBucketSize(kResultBucketId, 0); | 1423 helper_->SetBucketSize(kResultBucketId, 0); |
| 1310 helper_->GetTranslatedShaderSourceANGLE(shader, kResultBucketId); | 1424 helper_->GetTranslatedShaderSourceANGLE(shader, kResultBucketId); |
| 1311 std::string str; | 1425 std::string str; |
| 1312 GLsizei max_size = 0; | 1426 GLsizei max_size = 0; |
| 1313 if (GetBucketAsString(kResultBucketId, &str)) { | 1427 if (GetBucketAsString(kResultBucketId, &str)) { |
| 1314 if (bufsize > 0) { | 1428 if (bufsize > 0) { |
| 1315 max_size = | 1429 max_size = |
| 1316 std::min(static_cast<size_t>(bufsize) - 1, str.size()); | 1430 std::min(static_cast<size_t>(bufsize) - 1, str.size()); |
| 1317 memcpy(source, str.c_str(), max_size); | 1431 memcpy(source, str.c_str(), max_size); |
| 1318 source[max_size] = '\0'; | 1432 source[max_size] = '\0'; |
| 1319 GPU_CLIENT_LOG("------\n" << source << "\n------"); | 1433 GPU_CLIENT_LOG("------\n" << source << "\n------"); |
| 1320 } | 1434 } |
| 1321 } | 1435 } |
| 1322 if (length != NULL) { | 1436 if (length != NULL) { |
| 1323 *length = max_size; | 1437 *length = max_size; |
| 1324 } | 1438 } |
| 1325 } | 1439 } |
| 1326 void PostSubBufferCHROMIUM(GLint x, GLint y, GLint width, GLint height); | 1440 void PostSubBufferCHROMIUM(GLint x, GLint y, GLint width, GLint height); |
| 1327 | 1441 |
| 1328 void TexImageIOSurface2DCHROMIUM( | 1442 void TexImageIOSurface2DCHROMIUM( |
| 1329 GLenum target, GLsizei width, GLsizei height, GLuint ioSurfaceId, | 1443 GLenum target, GLsizei width, GLsizei height, GLuint ioSurfaceId, |
| 1330 GLuint plane) { | 1444 GLuint plane) { |
| 1445 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1331 GPU_CLIENT_LOG("[" << this << "] glTexImageIOSurface2DCHROMIUM(" << GLES2Util:
:GetStringTextureBindTarget(target) << ", " << width << ", " << height << ", " <
< ioSurfaceId << ", " << plane << ")"); // NOLINT | 1446 GPU_CLIENT_LOG("[" << this << "] glTexImageIOSurface2DCHROMIUM(" << GLES2Util:
:GetStringTextureBindTarget(target) << ", " << width << ", " << height << ", " <
< ioSurfaceId << ", " << plane << ")"); // NOLINT |
| 1332 if (width < 0) { | 1447 if (width < 0) { |
| 1333 SetGLError(GL_INVALID_VALUE, "glTexImageIOSurface2DCHROMIUM: width < 0"); | 1448 SetGLError(GL_INVALID_VALUE, "glTexImageIOSurface2DCHROMIUM: width < 0"); |
| 1334 return; | 1449 return; |
| 1335 } | 1450 } |
| 1336 if (height < 0) { | 1451 if (height < 0) { |
| 1337 SetGLError(GL_INVALID_VALUE, "glTexImageIOSurface2DCHROMIUM: height < 0"); | 1452 SetGLError(GL_INVALID_VALUE, "glTexImageIOSurface2DCHROMIUM: height < 0"); |
| 1338 return; | 1453 return; |
| 1339 } | 1454 } |
| 1340 helper_->TexImageIOSurface2DCHROMIUM( | 1455 helper_->TexImageIOSurface2DCHROMIUM( |
| 1341 target, width, height, ioSurfaceId, plane); | 1456 target, width, height, ioSurfaceId, plane); |
| 1342 } | 1457 } |
| 1343 | 1458 |
| 1344 #endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_AUTOGEN_H_ | 1459 #endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_AUTOGEN_H_ |
| 1345 | 1460 |
| OLD | NEW |