| OLD | NEW |
| 1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2014 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 // It's formatted by clang-format using chromium coding style: | 7 // It's formatted by clang-format using chromium coding style: |
| 8 // clang-format -i -style=chromium filename | 8 // clang-format -i -style=chromium filename |
| 9 // DO NOT EDIT! | 9 // DO NOT EDIT! |
| 10 | 10 |
| 11 // This file is included by gles2_implementation.cc to define the | 11 // This file is included by gles2_implementation.cc to define the |
| 12 // GL api functions. | 12 // GL api functions. |
| 13 #ifndef GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_IMPL_AUTOGEN_H_ | 13 #ifndef GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_IMPL_AUTOGEN_H_ |
| 14 #define GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_IMPL_AUTOGEN_H_ | 14 #define GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_IMPL_AUTOGEN_H_ |
| 15 | 15 |
| 16 void GLES2Implementation::AttachShader(GLuint program, GLuint shader) { | 16 void GLES2Implementation::AttachShader(GLuint program, GLuint shader) { |
| 17 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 17 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 18 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glAttachShader(" << program << ", " | 18 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glAttachShader(" << program << ", " |
| 19 << shader << ")"); // NOLINT | 19 << shader << ")"); |
| 20 helper_->AttachShader(program, shader); | 20 helper_->AttachShader(program, shader); |
| 21 CheckGLError(); | 21 CheckGLError(); |
| 22 } | 22 } |
| 23 | 23 |
| 24 void GLES2Implementation::BindBuffer(GLenum target, GLuint buffer) { | 24 void GLES2Implementation::BindBuffer(GLenum target, GLuint buffer) { |
| 25 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 25 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 26 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindBuffer(" | 26 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindBuffer(" |
| 27 << GLES2Util::GetStringBufferTarget(target) << ", " | 27 << GLES2Util::GetStringBufferTarget(target) << ", " |
| 28 << buffer << ")"); // NOLINT | 28 << buffer << ")"); |
| 29 if (IsBufferReservedId(buffer)) { | 29 if (IsBufferReservedId(buffer)) { |
| 30 SetGLError(GL_INVALID_OPERATION, "BindBuffer", "buffer reserved id"); | 30 SetGLError(GL_INVALID_OPERATION, "BindBuffer", "buffer reserved id"); |
| 31 return; | 31 return; |
| 32 } | 32 } |
| 33 if (BindBufferHelper(target, buffer)) { | 33 if (BindBufferHelper(target, buffer)) { |
| 34 helper_->BindBuffer(target, buffer); | 34 helper_->BindBuffer(target, buffer); |
| 35 } | 35 } |
| 36 CheckGLError(); | 36 CheckGLError(); |
| 37 } | 37 } |
| 38 | 38 |
| 39 void GLES2Implementation::BindFramebuffer(GLenum target, GLuint framebuffer) { | 39 void GLES2Implementation::BindFramebuffer(GLenum target, GLuint framebuffer) { |
| 40 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 40 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 41 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindFramebuffer(" | 41 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindFramebuffer(" |
| 42 << GLES2Util::GetStringFrameBufferTarget(target) << ", " | 42 << GLES2Util::GetStringFrameBufferTarget(target) << ", " |
| 43 << framebuffer << ")"); // NOLINT | 43 << framebuffer << ")"); |
| 44 if (IsFramebufferReservedId(framebuffer)) { | 44 if (IsFramebufferReservedId(framebuffer)) { |
| 45 SetGLError( | 45 SetGLError( |
| 46 GL_INVALID_OPERATION, "BindFramebuffer", "framebuffer reserved id"); | 46 GL_INVALID_OPERATION, "BindFramebuffer", "framebuffer reserved id"); |
| 47 return; | 47 return; |
| 48 } | 48 } |
| 49 if (BindFramebufferHelper(target, framebuffer)) { | 49 if (BindFramebufferHelper(target, framebuffer)) { |
| 50 helper_->BindFramebuffer(target, framebuffer); | 50 helper_->BindFramebuffer(target, framebuffer); |
| 51 } | 51 } |
| 52 CheckGLError(); | 52 CheckGLError(); |
| 53 } | 53 } |
| 54 | 54 |
| 55 void GLES2Implementation::BindRenderbuffer(GLenum target, GLuint renderbuffer) { | 55 void GLES2Implementation::BindRenderbuffer(GLenum target, GLuint renderbuffer) { |
| 56 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 56 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 57 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindRenderbuffer(" | 57 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindRenderbuffer(" |
| 58 << GLES2Util::GetStringRenderBufferTarget(target) << ", " | 58 << GLES2Util::GetStringRenderBufferTarget(target) << ", " |
| 59 << renderbuffer << ")"); // NOLINT | 59 << renderbuffer << ")"); |
| 60 if (IsRenderbufferReservedId(renderbuffer)) { | 60 if (IsRenderbufferReservedId(renderbuffer)) { |
| 61 SetGLError( | 61 SetGLError( |
| 62 GL_INVALID_OPERATION, "BindRenderbuffer", "renderbuffer reserved id"); | 62 GL_INVALID_OPERATION, "BindRenderbuffer", "renderbuffer reserved id"); |
| 63 return; | 63 return; |
| 64 } | 64 } |
| 65 if (BindRenderbufferHelper(target, renderbuffer)) { | 65 if (BindRenderbufferHelper(target, renderbuffer)) { |
| 66 helper_->BindRenderbuffer(target, renderbuffer); | 66 helper_->BindRenderbuffer(target, renderbuffer); |
| 67 } | 67 } |
| 68 CheckGLError(); | 68 CheckGLError(); |
| 69 } | 69 } |
| 70 | 70 |
| 71 void GLES2Implementation::BindTexture(GLenum target, GLuint texture) { | 71 void GLES2Implementation::BindTexture(GLenum target, GLuint texture) { |
| 72 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 72 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 73 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindTexture(" | 73 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindTexture(" |
| 74 << GLES2Util::GetStringTextureBindTarget(target) << ", " | 74 << GLES2Util::GetStringTextureBindTarget(target) << ", " |
| 75 << texture << ")"); // NOLINT | 75 << texture << ")"); |
| 76 if (IsTextureReservedId(texture)) { | 76 if (IsTextureReservedId(texture)) { |
| 77 SetGLError(GL_INVALID_OPERATION, "BindTexture", "texture reserved id"); | 77 SetGLError(GL_INVALID_OPERATION, "BindTexture", "texture reserved id"); |
| 78 return; | 78 return; |
| 79 } | 79 } |
| 80 if (BindTextureHelper(target, texture)) { | 80 if (BindTextureHelper(target, texture)) { |
| 81 helper_->BindTexture(target, texture); | 81 helper_->BindTexture(target, texture); |
| 82 } | 82 } |
| 83 CheckGLError(); | 83 CheckGLError(); |
| 84 } | 84 } |
| 85 | 85 |
| 86 void GLES2Implementation::BlendColor(GLclampf red, | 86 void GLES2Implementation::BlendColor(GLclampf red, |
| 87 GLclampf green, | 87 GLclampf green, |
| 88 GLclampf blue, | 88 GLclampf blue, |
| 89 GLclampf alpha) { | 89 GLclampf alpha) { |
| 90 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 90 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 91 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlendColor(" << red << ", " | 91 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlendColor(" << red << ", " |
| 92 << green << ", " << blue << ", " << alpha | 92 << green << ", " << blue << ", " << alpha << ")"); |
| 93 << ")"); // NOLINT | |
| 94 helper_->BlendColor(red, green, blue, alpha); | 93 helper_->BlendColor(red, green, blue, alpha); |
| 95 CheckGLError(); | 94 CheckGLError(); |
| 96 } | 95 } |
| 97 | 96 |
| 98 void GLES2Implementation::BlendEquation(GLenum mode) { | 97 void GLES2Implementation::BlendEquation(GLenum mode) { |
| 99 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 98 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 100 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlendEquation(" | 99 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlendEquation(" |
| 101 << GLES2Util::GetStringEquation(mode) << ")"); // NOLINT | 100 << GLES2Util::GetStringEquation(mode) << ")"); |
| 102 helper_->BlendEquation(mode); | 101 helper_->BlendEquation(mode); |
| 103 CheckGLError(); | 102 CheckGLError(); |
| 104 } | 103 } |
| 105 | 104 |
| 106 void GLES2Implementation::BlendEquationSeparate(GLenum modeRGB, | 105 void GLES2Implementation::BlendEquationSeparate(GLenum modeRGB, |
| 107 GLenum modeAlpha) { | 106 GLenum modeAlpha) { |
| 108 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 107 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 109 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlendEquationSeparate(" | 108 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlendEquationSeparate(" |
| 110 << GLES2Util::GetStringEquation(modeRGB) << ", " | 109 << GLES2Util::GetStringEquation(modeRGB) << ", " |
| 111 << GLES2Util::GetStringEquation(modeAlpha) | 110 << GLES2Util::GetStringEquation(modeAlpha) << ")"); |
| 112 << ")"); // NOLINT | |
| 113 helper_->BlendEquationSeparate(modeRGB, modeAlpha); | 111 helper_->BlendEquationSeparate(modeRGB, modeAlpha); |
| 114 CheckGLError(); | 112 CheckGLError(); |
| 115 } | 113 } |
| 116 | 114 |
| 117 void GLES2Implementation::BlendFunc(GLenum sfactor, GLenum dfactor) { | 115 void GLES2Implementation::BlendFunc(GLenum sfactor, GLenum dfactor) { |
| 118 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 116 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 119 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlendFunc(" | 117 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlendFunc(" |
| 120 << GLES2Util::GetStringSrcBlendFactor(sfactor) << ", " | 118 << GLES2Util::GetStringSrcBlendFactor(sfactor) << ", " |
| 121 << GLES2Util::GetStringDstBlendFactor(dfactor) | 119 << GLES2Util::GetStringDstBlendFactor(dfactor) << ")"); |
| 122 << ")"); // NOLINT | |
| 123 helper_->BlendFunc(sfactor, dfactor); | 120 helper_->BlendFunc(sfactor, dfactor); |
| 124 CheckGLError(); | 121 CheckGLError(); |
| 125 } | 122 } |
| 126 | 123 |
| 127 void GLES2Implementation::BlendFuncSeparate(GLenum srcRGB, | 124 void GLES2Implementation::BlendFuncSeparate(GLenum srcRGB, |
| 128 GLenum dstRGB, | 125 GLenum dstRGB, |
| 129 GLenum srcAlpha, | 126 GLenum srcAlpha, |
| 130 GLenum dstAlpha) { | 127 GLenum dstAlpha) { |
| 131 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 128 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 132 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlendFuncSeparate(" | 129 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlendFuncSeparate(" |
| 133 << GLES2Util::GetStringSrcBlendFactor(srcRGB) << ", " | 130 << GLES2Util::GetStringSrcBlendFactor(srcRGB) << ", " |
| 134 << GLES2Util::GetStringDstBlendFactor(dstRGB) << ", " | 131 << GLES2Util::GetStringDstBlendFactor(dstRGB) << ", " |
| 135 << GLES2Util::GetStringSrcBlendFactor(srcAlpha) << ", " | 132 << GLES2Util::GetStringSrcBlendFactor(srcAlpha) << ", " |
| 136 << GLES2Util::GetStringDstBlendFactor(dstAlpha) | 133 << GLES2Util::GetStringDstBlendFactor(dstAlpha) << ")"); |
| 137 << ")"); // NOLINT | |
| 138 helper_->BlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); | 134 helper_->BlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); |
| 139 CheckGLError(); | 135 CheckGLError(); |
| 140 } | 136 } |
| 141 | 137 |
| 142 GLenum GLES2Implementation::CheckFramebufferStatus(GLenum target) { | 138 GLenum GLES2Implementation::CheckFramebufferStatus(GLenum target) { |
| 143 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 139 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 144 TRACE_EVENT0("gpu", "GLES2Implementation::CheckFramebufferStatus"); | 140 TRACE_EVENT0("gpu", "GLES2Implementation::CheckFramebufferStatus"); |
| 145 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCheckFramebufferStatus(" | 141 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCheckFramebufferStatus(" |
| 146 << GLES2Util::GetStringFrameBufferTarget(target) | 142 << GLES2Util::GetStringFrameBufferTarget(target) << ")"); |
| 147 << ")"); // NOLINT | |
| 148 typedef cmds::CheckFramebufferStatus::Result Result; | 143 typedef cmds::CheckFramebufferStatus::Result Result; |
| 149 Result* result = GetResultAs<Result*>(); | 144 Result* result = GetResultAs<Result*>(); |
| 150 if (!result) { | 145 if (!result) { |
| 151 return GL_FRAMEBUFFER_UNSUPPORTED; | 146 return GL_FRAMEBUFFER_UNSUPPORTED; |
| 152 } | 147 } |
| 153 *result = 0; | 148 *result = 0; |
| 154 helper_->CheckFramebufferStatus( | 149 helper_->CheckFramebufferStatus( |
| 155 target, GetResultShmId(), GetResultShmOffset()); | 150 target, GetResultShmId(), GetResultShmOffset()); |
| 156 WaitForCmd(); | 151 WaitForCmd(); |
| 157 GLenum result_value = *result; | 152 GLenum result_value = *result; |
| 158 GPU_CLIENT_LOG("returned " << result_value); | 153 GPU_CLIENT_LOG("returned " << result_value); |
| 159 CheckGLError(); | 154 CheckGLError(); |
| 160 return result_value; | 155 return result_value; |
| 161 } | 156 } |
| 162 | 157 |
| 163 void GLES2Implementation::Clear(GLbitfield mask) { | 158 void GLES2Implementation::Clear(GLbitfield mask) { |
| 164 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 159 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 165 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glClear(" << mask << ")"); | 160 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glClear(" << mask << ")"); |
| 166 helper_->Clear(mask); | 161 helper_->Clear(mask); |
| 167 CheckGLError(); | 162 CheckGLError(); |
| 168 } | 163 } |
| 169 | 164 |
| 170 void GLES2Implementation::ClearColor(GLclampf red, | 165 void GLES2Implementation::ClearColor(GLclampf red, |
| 171 GLclampf green, | 166 GLclampf green, |
| 172 GLclampf blue, | 167 GLclampf blue, |
| 173 GLclampf alpha) { | 168 GLclampf alpha) { |
| 174 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 169 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 175 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glClearColor(" << red << ", " | 170 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glClearColor(" << red << ", " |
| 176 << green << ", " << blue << ", " << alpha | 171 << green << ", " << blue << ", " << alpha << ")"); |
| 177 << ")"); // NOLINT | |
| 178 helper_->ClearColor(red, green, blue, alpha); | 172 helper_->ClearColor(red, green, blue, alpha); |
| 179 CheckGLError(); | 173 CheckGLError(); |
| 180 } | 174 } |
| 181 | 175 |
| 182 void GLES2Implementation::ClearDepthf(GLclampf depth) { | 176 void GLES2Implementation::ClearDepthf(GLclampf depth) { |
| 183 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 177 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 184 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glClearDepthf(" << depth << ")"); | 178 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glClearDepthf(" << depth << ")"); |
| 185 helper_->ClearDepthf(depth); | 179 helper_->ClearDepthf(depth); |
| 186 CheckGLError(); | 180 CheckGLError(); |
| 187 } | 181 } |
| 188 | 182 |
| 189 void GLES2Implementation::ClearStencil(GLint s) { | 183 void GLES2Implementation::ClearStencil(GLint s) { |
| 190 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 184 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 191 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glClearStencil(" << s << ")"); | 185 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glClearStencil(" << s << ")"); |
| 192 helper_->ClearStencil(s); | 186 helper_->ClearStencil(s); |
| 193 CheckGLError(); | 187 CheckGLError(); |
| 194 } | 188 } |
| 195 | 189 |
| 196 void GLES2Implementation::ColorMask(GLboolean red, | 190 void GLES2Implementation::ColorMask(GLboolean red, |
| 197 GLboolean green, | 191 GLboolean green, |
| 198 GLboolean blue, | 192 GLboolean blue, |
| 199 GLboolean alpha) { | 193 GLboolean alpha) { |
| 200 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 194 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 201 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glColorMask(" | 195 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glColorMask(" |
| 202 << GLES2Util::GetStringBool(red) << ", " | 196 << GLES2Util::GetStringBool(red) << ", " |
| 203 << GLES2Util::GetStringBool(green) << ", " | 197 << GLES2Util::GetStringBool(green) << ", " |
| 204 << GLES2Util::GetStringBool(blue) << ", " | 198 << GLES2Util::GetStringBool(blue) << ", " |
| 205 << GLES2Util::GetStringBool(alpha) << ")"); // NOLINT | 199 << GLES2Util::GetStringBool(alpha) << ")"); |
| 206 helper_->ColorMask(red, green, blue, alpha); | 200 helper_->ColorMask(red, green, blue, alpha); |
| 207 CheckGLError(); | 201 CheckGLError(); |
| 208 } | 202 } |
| 209 | 203 |
| 210 void GLES2Implementation::CompileShader(GLuint shader) { | 204 void GLES2Implementation::CompileShader(GLuint shader) { |
| 211 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 205 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 212 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCompileShader(" << shader | 206 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCompileShader(" << shader |
| 213 << ")"); // NOLINT | 207 << ")"); |
| 214 helper_->CompileShader(shader); | 208 helper_->CompileShader(shader); |
| 215 CheckGLError(); | 209 CheckGLError(); |
| 216 } | 210 } |
| 217 | 211 |
| 218 void GLES2Implementation::CopyTexImage2D(GLenum target, | 212 void GLES2Implementation::CopyTexImage2D(GLenum target, |
| 219 GLint level, | 213 GLint level, |
| 220 GLenum internalformat, | 214 GLenum internalformat, |
| 221 GLint x, | 215 GLint x, |
| 222 GLint y, | 216 GLint y, |
| 223 GLsizei width, | 217 GLsizei width, |
| 224 GLsizei height, | 218 GLsizei height, |
| 225 GLint border) { | 219 GLint border) { |
| 226 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 220 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 227 GPU_CLIENT_LOG( | 221 GPU_CLIENT_LOG( |
| 228 "[" << GetLogPrefix() << "] glCopyTexImage2D(" | 222 "[" << GetLogPrefix() << "] glCopyTexImage2D(" |
| 229 << GLES2Util::GetStringTextureTarget(target) << ", " << level << ", " | 223 << GLES2Util::GetStringTextureTarget(target) << ", " << level << ", " |
| 230 << GLES2Util::GetStringTextureInternalFormat(internalformat) << ", " | 224 << GLES2Util::GetStringTextureInternalFormat(internalformat) << ", " |
| 231 << x << ", " << y << ", " << width << ", " << height << ", " << border | 225 << x << ", " << y << ", " << width << ", " << height << ", " << border |
| 232 << ")"); // NOLINT | 226 << ")"); |
| 233 if (width < 0) { | 227 if (width < 0) { |
| 234 SetGLError(GL_INVALID_VALUE, "glCopyTexImage2D", "width < 0"); | 228 SetGLError(GL_INVALID_VALUE, "glCopyTexImage2D", "width < 0"); |
| 235 return; | 229 return; |
| 236 } | 230 } |
| 237 if (height < 0) { | 231 if (height < 0) { |
| 238 SetGLError(GL_INVALID_VALUE, "glCopyTexImage2D", "height < 0"); | 232 SetGLError(GL_INVALID_VALUE, "glCopyTexImage2D", "height < 0"); |
| 239 return; | 233 return; |
| 240 } | 234 } |
| 241 helper_->CopyTexImage2D( | 235 helper_->CopyTexImage2D( |
| 242 target, level, internalformat, x, y, width, height, border); | 236 target, level, internalformat, x, y, width, height, border); |
| 243 CheckGLError(); | 237 CheckGLError(); |
| 244 } | 238 } |
| 245 | 239 |
| 246 void GLES2Implementation::CopyTexSubImage2D(GLenum target, | 240 void GLES2Implementation::CopyTexSubImage2D(GLenum target, |
| 247 GLint level, | 241 GLint level, |
| 248 GLint xoffset, | 242 GLint xoffset, |
| 249 GLint yoffset, | 243 GLint yoffset, |
| 250 GLint x, | 244 GLint x, |
| 251 GLint y, | 245 GLint y, |
| 252 GLsizei width, | 246 GLsizei width, |
| 253 GLsizei height) { | 247 GLsizei height) { |
| 254 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 248 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 255 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCopyTexSubImage2D(" | 249 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCopyTexSubImage2D(" |
| 256 << GLES2Util::GetStringTextureTarget(target) << ", " | 250 << GLES2Util::GetStringTextureTarget(target) << ", " |
| 257 << level << ", " << xoffset << ", " << yoffset << ", " << x | 251 << level << ", " << xoffset << ", " << yoffset << ", " << x |
| 258 << ", " << y << ", " << width << ", " << height | 252 << ", " << y << ", " << width << ", " << height << ")"); |
| 259 << ")"); // NOLINT | |
| 260 if (width < 0) { | 253 if (width < 0) { |
| 261 SetGLError(GL_INVALID_VALUE, "glCopyTexSubImage2D", "width < 0"); | 254 SetGLError(GL_INVALID_VALUE, "glCopyTexSubImage2D", "width < 0"); |
| 262 return; | 255 return; |
| 263 } | 256 } |
| 264 if (height < 0) { | 257 if (height < 0) { |
| 265 SetGLError(GL_INVALID_VALUE, "glCopyTexSubImage2D", "height < 0"); | 258 SetGLError(GL_INVALID_VALUE, "glCopyTexSubImage2D", "height < 0"); |
| 266 return; | 259 return; |
| 267 } | 260 } |
| 268 helper_->CopyTexSubImage2D( | 261 helper_->CopyTexSubImage2D( |
| 269 target, level, xoffset, yoffset, x, y, width, height); | 262 target, level, xoffset, yoffset, x, y, width, height); |
| 270 CheckGLError(); | 263 CheckGLError(); |
| 271 } | 264 } |
| 272 | 265 |
| 273 GLuint GLES2Implementation::CreateProgram() { | 266 GLuint GLES2Implementation::CreateProgram() { |
| 274 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 267 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 275 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCreateProgram(" | 268 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCreateProgram(" |
| 276 << ")"); | 269 << ")"); |
| 277 GLuint client_id; | 270 GLuint client_id; |
| 278 GetIdHandler(id_namespaces::kProgramsAndShaders) | 271 GetIdHandler(id_namespaces::kProgramsAndShaders) |
| 279 ->MakeIds(this, 0, 1, &client_id); | 272 ->MakeIds(this, 0, 1, &client_id); |
| 280 helper_->CreateProgram(client_id); | 273 helper_->CreateProgram(client_id); |
| 281 GPU_CLIENT_LOG("returned " << client_id); | 274 GPU_CLIENT_LOG("returned " << client_id); |
| 282 CheckGLError(); | 275 CheckGLError(); |
| 283 return client_id; | 276 return client_id; |
| 284 } | 277 } |
| 285 | 278 |
| 286 GLuint GLES2Implementation::CreateShader(GLenum type) { | 279 GLuint GLES2Implementation::CreateShader(GLenum type) { |
| 287 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 280 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 288 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCreateShader(" | 281 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCreateShader(" |
| 289 << GLES2Util::GetStringShaderType(type) << ")"); // NOLINT | 282 << GLES2Util::GetStringShaderType(type) << ")"); |
| 290 GLuint client_id; | 283 GLuint client_id; |
| 291 GetIdHandler(id_namespaces::kProgramsAndShaders) | 284 GetIdHandler(id_namespaces::kProgramsAndShaders) |
| 292 ->MakeIds(this, 0, 1, &client_id); | 285 ->MakeIds(this, 0, 1, &client_id); |
| 293 helper_->CreateShader(type, client_id); | 286 helper_->CreateShader(type, client_id); |
| 294 GPU_CLIENT_LOG("returned " << client_id); | 287 GPU_CLIENT_LOG("returned " << client_id); |
| 295 CheckGLError(); | 288 CheckGLError(); |
| 296 return client_id; | 289 return client_id; |
| 297 } | 290 } |
| 298 | 291 |
| 299 void GLES2Implementation::CullFace(GLenum mode) { | 292 void GLES2Implementation::CullFace(GLenum mode) { |
| 300 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 293 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 301 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCullFace(" | 294 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCullFace(" |
| 302 << GLES2Util::GetStringFaceType(mode) << ")"); // NOLINT | 295 << GLES2Util::GetStringFaceType(mode) << ")"); |
| 303 helper_->CullFace(mode); | 296 helper_->CullFace(mode); |
| 304 CheckGLError(); | 297 CheckGLError(); |
| 305 } | 298 } |
| 306 | 299 |
| 307 void GLES2Implementation::DeleteBuffers(GLsizei n, const GLuint* buffers) { | 300 void GLES2Implementation::DeleteBuffers(GLsizei n, const GLuint* buffers) { |
| 308 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 301 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 309 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteBuffers(" << n << ", " | 302 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteBuffers(" << n << ", " |
| 310 << static_cast<const void*>(buffers) << ")"); // NOLINT | 303 << static_cast<const void*>(buffers) << ")"); |
| 311 GPU_CLIENT_LOG_CODE_BLOCK({ | 304 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 312 for (GLsizei i = 0; i < n; ++i) { | 305 for (GLsizei i = 0; i < n; ++i) { |
| 313 GPU_CLIENT_LOG(" " << i << ": " << buffers[i]); | 306 GPU_CLIENT_LOG(" " << i << ": " << buffers[i]); |
| 314 } | 307 } |
| 315 }); | 308 }); |
| 316 GPU_CLIENT_DCHECK_CODE_BLOCK({ | 309 GPU_CLIENT_DCHECK_CODE_BLOCK({ |
| 317 for (GLsizei i = 0; i < n; ++i) { | 310 for (GLsizei i = 0; i < n; ++i) { |
| 318 DCHECK(buffers[i] != 0); | 311 DCHECK(buffers[i] != 0); |
| 319 } | 312 } |
| 320 }); | 313 }); |
| 321 if (n < 0) { | 314 if (n < 0) { |
| 322 SetGLError(GL_INVALID_VALUE, "glDeleteBuffers", "n < 0"); | 315 SetGLError(GL_INVALID_VALUE, "glDeleteBuffers", "n < 0"); |
| 323 return; | 316 return; |
| 324 } | 317 } |
| 325 DeleteBuffersHelper(n, buffers); | 318 DeleteBuffersHelper(n, buffers); |
| 326 CheckGLError(); | 319 CheckGLError(); |
| 327 } | 320 } |
| 328 | 321 |
| 329 void GLES2Implementation::DeleteFramebuffers(GLsizei n, | 322 void GLES2Implementation::DeleteFramebuffers(GLsizei n, |
| 330 const GLuint* framebuffers) { | 323 const GLuint* framebuffers) { |
| 331 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 324 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 332 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteFramebuffers(" << n << ", " | 325 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteFramebuffers(" << n << ", " |
| 333 << static_cast<const void*>(framebuffers) | 326 << static_cast<const void*>(framebuffers) << ")"); |
| 334 << ")"); // NOLINT | |
| 335 GPU_CLIENT_LOG_CODE_BLOCK({ | 327 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 336 for (GLsizei i = 0; i < n; ++i) { | 328 for (GLsizei i = 0; i < n; ++i) { |
| 337 GPU_CLIENT_LOG(" " << i << ": " << framebuffers[i]); | 329 GPU_CLIENT_LOG(" " << i << ": " << framebuffers[i]); |
| 338 } | 330 } |
| 339 }); | 331 }); |
| 340 GPU_CLIENT_DCHECK_CODE_BLOCK({ | 332 GPU_CLIENT_DCHECK_CODE_BLOCK({ |
| 341 for (GLsizei i = 0; i < n; ++i) { | 333 for (GLsizei i = 0; i < n; ++i) { |
| 342 DCHECK(framebuffers[i] != 0); | 334 DCHECK(framebuffers[i] != 0); |
| 343 } | 335 } |
| 344 }); | 336 }); |
| 345 if (n < 0) { | 337 if (n < 0) { |
| 346 SetGLError(GL_INVALID_VALUE, "glDeleteFramebuffers", "n < 0"); | 338 SetGLError(GL_INVALID_VALUE, "glDeleteFramebuffers", "n < 0"); |
| 347 return; | 339 return; |
| 348 } | 340 } |
| 349 DeleteFramebuffersHelper(n, framebuffers); | 341 DeleteFramebuffersHelper(n, framebuffers); |
| 350 CheckGLError(); | 342 CheckGLError(); |
| 351 } | 343 } |
| 352 | 344 |
| 353 void GLES2Implementation::DeleteProgram(GLuint program) { | 345 void GLES2Implementation::DeleteProgram(GLuint program) { |
| 354 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 346 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 355 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteProgram(" << program | 347 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteProgram(" << program |
| 356 << ")"); // NOLINT | 348 << ")"); |
| 357 GPU_CLIENT_DCHECK(program != 0); | 349 GPU_CLIENT_DCHECK(program != 0); |
| 358 DeleteProgramHelper(program); | 350 DeleteProgramHelper(program); |
| 359 CheckGLError(); | 351 CheckGLError(); |
| 360 } | 352 } |
| 361 | 353 |
| 362 void GLES2Implementation::DeleteRenderbuffers(GLsizei n, | 354 void GLES2Implementation::DeleteRenderbuffers(GLsizei n, |
| 363 const GLuint* renderbuffers) { | 355 const GLuint* renderbuffers) { |
| 364 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 356 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 365 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteRenderbuffers(" << n | 357 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteRenderbuffers(" << n |
| 366 << ", " << static_cast<const void*>(renderbuffers) | 358 << ", " << static_cast<const void*>(renderbuffers) << ")"); |
| 367 << ")"); // NOLINT | |
| 368 GPU_CLIENT_LOG_CODE_BLOCK({ | 359 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 369 for (GLsizei i = 0; i < n; ++i) { | 360 for (GLsizei i = 0; i < n; ++i) { |
| 370 GPU_CLIENT_LOG(" " << i << ": " << renderbuffers[i]); | 361 GPU_CLIENT_LOG(" " << i << ": " << renderbuffers[i]); |
| 371 } | 362 } |
| 372 }); | 363 }); |
| 373 GPU_CLIENT_DCHECK_CODE_BLOCK({ | 364 GPU_CLIENT_DCHECK_CODE_BLOCK({ |
| 374 for (GLsizei i = 0; i < n; ++i) { | 365 for (GLsizei i = 0; i < n; ++i) { |
| 375 DCHECK(renderbuffers[i] != 0); | 366 DCHECK(renderbuffers[i] != 0); |
| 376 } | 367 } |
| 377 }); | 368 }); |
| 378 if (n < 0) { | 369 if (n < 0) { |
| 379 SetGLError(GL_INVALID_VALUE, "glDeleteRenderbuffers", "n < 0"); | 370 SetGLError(GL_INVALID_VALUE, "glDeleteRenderbuffers", "n < 0"); |
| 380 return; | 371 return; |
| 381 } | 372 } |
| 382 DeleteRenderbuffersHelper(n, renderbuffers); | 373 DeleteRenderbuffersHelper(n, renderbuffers); |
| 383 CheckGLError(); | 374 CheckGLError(); |
| 384 } | 375 } |
| 385 | 376 |
| 386 void GLES2Implementation::DeleteShader(GLuint shader) { | 377 void GLES2Implementation::DeleteShader(GLuint shader) { |
| 387 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 378 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 388 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteShader(" << shader << ")"); | 379 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteShader(" << shader << ")"); |
| 389 GPU_CLIENT_DCHECK(shader != 0); | 380 GPU_CLIENT_DCHECK(shader != 0); |
| 390 DeleteShaderHelper(shader); | 381 DeleteShaderHelper(shader); |
| 391 CheckGLError(); | 382 CheckGLError(); |
| 392 } | 383 } |
| 393 | 384 |
| 394 void GLES2Implementation::DeleteTextures(GLsizei n, const GLuint* textures) { | 385 void GLES2Implementation::DeleteTextures(GLsizei n, const GLuint* textures) { |
| 395 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 386 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 396 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteTextures(" << n << ", " | 387 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteTextures(" << n << ", " |
| 397 << static_cast<const void*>(textures) << ")"); // NOLINT | 388 << static_cast<const void*>(textures) << ")"); |
| 398 GPU_CLIENT_LOG_CODE_BLOCK({ | 389 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 399 for (GLsizei i = 0; i < n; ++i) { | 390 for (GLsizei i = 0; i < n; ++i) { |
| 400 GPU_CLIENT_LOG(" " << i << ": " << textures[i]); | 391 GPU_CLIENT_LOG(" " << i << ": " << textures[i]); |
| 401 } | 392 } |
| 402 }); | 393 }); |
| 403 GPU_CLIENT_DCHECK_CODE_BLOCK({ | 394 GPU_CLIENT_DCHECK_CODE_BLOCK({ |
| 404 for (GLsizei i = 0; i < n; ++i) { | 395 for (GLsizei i = 0; i < n; ++i) { |
| 405 DCHECK(textures[i] != 0); | 396 DCHECK(textures[i] != 0); |
| 406 } | 397 } |
| 407 }); | 398 }); |
| 408 if (n < 0) { | 399 if (n < 0) { |
| 409 SetGLError(GL_INVALID_VALUE, "glDeleteTextures", "n < 0"); | 400 SetGLError(GL_INVALID_VALUE, "glDeleteTextures", "n < 0"); |
| 410 return; | 401 return; |
| 411 } | 402 } |
| 412 DeleteTexturesHelper(n, textures); | 403 DeleteTexturesHelper(n, textures); |
| 413 CheckGLError(); | 404 CheckGLError(); |
| 414 } | 405 } |
| 415 | 406 |
| 416 void GLES2Implementation::DepthFunc(GLenum func) { | 407 void GLES2Implementation::DepthFunc(GLenum func) { |
| 417 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 408 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 418 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDepthFunc(" | 409 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDepthFunc(" |
| 419 << GLES2Util::GetStringCmpFunction(func) | 410 << GLES2Util::GetStringCmpFunction(func) << ")"); |
| 420 << ")"); // NOLINT | |
| 421 helper_->DepthFunc(func); | 411 helper_->DepthFunc(func); |
| 422 CheckGLError(); | 412 CheckGLError(); |
| 423 } | 413 } |
| 424 | 414 |
| 425 void GLES2Implementation::DepthMask(GLboolean flag) { | 415 void GLES2Implementation::DepthMask(GLboolean flag) { |
| 426 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 416 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 427 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDepthMask(" | 417 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDepthMask(" |
| 428 << GLES2Util::GetStringBool(flag) << ")"); // NOLINT | 418 << GLES2Util::GetStringBool(flag) << ")"); |
| 429 helper_->DepthMask(flag); | 419 helper_->DepthMask(flag); |
| 430 CheckGLError(); | 420 CheckGLError(); |
| 431 } | 421 } |
| 432 | 422 |
| 433 void GLES2Implementation::DepthRangef(GLclampf zNear, GLclampf zFar) { | 423 void GLES2Implementation::DepthRangef(GLclampf zNear, GLclampf zFar) { |
| 434 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 424 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 435 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDepthRangef(" << zNear << ", " | 425 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDepthRangef(" << zNear << ", " |
| 436 << zFar << ")"); // NOLINT | 426 << zFar << ")"); |
| 437 helper_->DepthRangef(zNear, zFar); | 427 helper_->DepthRangef(zNear, zFar); |
| 438 CheckGLError(); | 428 CheckGLError(); |
| 439 } | 429 } |
| 440 | 430 |
| 441 void GLES2Implementation::DetachShader(GLuint program, GLuint shader) { | 431 void GLES2Implementation::DetachShader(GLuint program, GLuint shader) { |
| 442 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 432 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 443 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDetachShader(" << program << ", " | 433 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDetachShader(" << program << ", " |
| 444 << shader << ")"); // NOLINT | 434 << shader << ")"); |
| 445 helper_->DetachShader(program, shader); | 435 helper_->DetachShader(program, shader); |
| 446 CheckGLError(); | 436 CheckGLError(); |
| 447 } | 437 } |
| 448 | 438 |
| 449 void GLES2Implementation::FramebufferRenderbuffer(GLenum target, | 439 void GLES2Implementation::FramebufferRenderbuffer(GLenum target, |
| 450 GLenum attachment, | 440 GLenum attachment, |
| 451 GLenum renderbuffertarget, | 441 GLenum renderbuffertarget, |
| 452 GLuint renderbuffer) { | 442 GLuint renderbuffer) { |
| 453 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 443 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 454 GPU_CLIENT_LOG( | 444 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glFramebufferRenderbuffer(" |
| 455 "[" << GetLogPrefix() << "] glFramebufferRenderbuffer(" | 445 << GLES2Util::GetStringFrameBufferTarget(target) << ", " |
| 456 << GLES2Util::GetStringFrameBufferTarget(target) << ", " | 446 << GLES2Util::GetStringAttachment(attachment) << ", " |
| 457 << GLES2Util::GetStringAttachment(attachment) << ", " | 447 << GLES2Util::GetStringRenderBufferTarget( |
| 458 << GLES2Util::GetStringRenderBufferTarget(renderbuffertarget) << ", " | 448 renderbuffertarget) << ", " << renderbuffer << ")"); |
| 459 << renderbuffer << ")"); // NOLINT | |
| 460 helper_->FramebufferRenderbuffer( | 449 helper_->FramebufferRenderbuffer( |
| 461 target, attachment, renderbuffertarget, renderbuffer); | 450 target, attachment, renderbuffertarget, renderbuffer); |
| 462 CheckGLError(); | 451 CheckGLError(); |
| 463 } | 452 } |
| 464 | 453 |
| 465 void GLES2Implementation::FramebufferTexture2D(GLenum target, | 454 void GLES2Implementation::FramebufferTexture2D(GLenum target, |
| 466 GLenum attachment, | 455 GLenum attachment, |
| 467 GLenum textarget, | 456 GLenum textarget, |
| 468 GLuint texture, | 457 GLuint texture, |
| 469 GLint level) { | 458 GLint level) { |
| 470 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 459 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 471 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glFramebufferTexture2D(" | 460 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glFramebufferTexture2D(" |
| 472 << GLES2Util::GetStringFrameBufferTarget(target) << ", " | 461 << GLES2Util::GetStringFrameBufferTarget(target) << ", " |
| 473 << GLES2Util::GetStringAttachment(attachment) << ", " | 462 << GLES2Util::GetStringAttachment(attachment) << ", " |
| 474 << GLES2Util::GetStringTextureTarget(textarget) << ", " | 463 << GLES2Util::GetStringTextureTarget(textarget) << ", " |
| 475 << texture << ", " << level << ")"); // NOLINT | 464 << texture << ", " << level << ")"); |
| 476 helper_->FramebufferTexture2D(target, attachment, textarget, texture, level); | 465 helper_->FramebufferTexture2D(target, attachment, textarget, texture, level); |
| 477 CheckGLError(); | 466 CheckGLError(); |
| 478 } | 467 } |
| 479 | 468 |
| 480 void GLES2Implementation::FrontFace(GLenum mode) { | 469 void GLES2Implementation::FrontFace(GLenum mode) { |
| 481 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 470 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 482 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glFrontFace(" | 471 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glFrontFace(" |
| 483 << GLES2Util::GetStringFaceMode(mode) << ")"); // NOLINT | 472 << GLES2Util::GetStringFaceMode(mode) << ")"); |
| 484 helper_->FrontFace(mode); | 473 helper_->FrontFace(mode); |
| 485 CheckGLError(); | 474 CheckGLError(); |
| 486 } | 475 } |
| 487 | 476 |
| 488 void GLES2Implementation::GenBuffers(GLsizei n, GLuint* buffers) { | 477 void GLES2Implementation::GenBuffers(GLsizei n, GLuint* buffers) { |
| 489 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenBuffers(" << n << ", " | 478 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenBuffers(" << n << ", " |
| 490 << static_cast<const void*>(buffers) << ")"); // NOLINT | 479 << static_cast<const void*>(buffers) << ")"); |
| 491 if (n < 0) { | 480 if (n < 0) { |
| 492 SetGLError(GL_INVALID_VALUE, "glGenBuffers", "n < 0"); | 481 SetGLError(GL_INVALID_VALUE, "glGenBuffers", "n < 0"); |
| 493 return; | 482 return; |
| 494 } | 483 } |
| 495 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 484 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 496 GetIdHandler(id_namespaces::kBuffers)->MakeIds(this, 0, n, buffers); | 485 GetIdHandler(id_namespaces::kBuffers)->MakeIds(this, 0, n, buffers); |
| 497 GenBuffersHelper(n, buffers); | 486 GenBuffersHelper(n, buffers); |
| 498 helper_->GenBuffersImmediate(n, buffers); | 487 helper_->GenBuffersImmediate(n, buffers); |
| 499 if (share_group_->bind_generates_resource()) | 488 if (share_group_->bind_generates_resource()) |
| 500 helper_->CommandBufferHelper::Flush(); | 489 helper_->CommandBufferHelper::Flush(); |
| 501 GPU_CLIENT_LOG_CODE_BLOCK({ | 490 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 502 for (GLsizei i = 0; i < n; ++i) { | 491 for (GLsizei i = 0; i < n; ++i) { |
| 503 GPU_CLIENT_LOG(" " << i << ": " << buffers[i]); | 492 GPU_CLIENT_LOG(" " << i << ": " << buffers[i]); |
| 504 } | 493 } |
| 505 }); | 494 }); |
| 506 CheckGLError(); | 495 CheckGLError(); |
| 507 } | 496 } |
| 508 | 497 |
| 509 void GLES2Implementation::GenerateMipmap(GLenum target) { | 498 void GLES2Implementation::GenerateMipmap(GLenum target) { |
| 510 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 499 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 511 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenerateMipmap(" | 500 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenerateMipmap(" |
| 512 << GLES2Util::GetStringTextureBindTarget(target) | 501 << GLES2Util::GetStringTextureBindTarget(target) << ")"); |
| 513 << ")"); // NOLINT | |
| 514 helper_->GenerateMipmap(target); | 502 helper_->GenerateMipmap(target); |
| 515 CheckGLError(); | 503 CheckGLError(); |
| 516 } | 504 } |
| 517 | 505 |
| 518 void GLES2Implementation::GenFramebuffers(GLsizei n, GLuint* framebuffers) { | 506 void GLES2Implementation::GenFramebuffers(GLsizei n, GLuint* framebuffers) { |
| 519 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenFramebuffers(" << n << ", " | 507 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenFramebuffers(" << n << ", " |
| 520 << static_cast<const void*>(framebuffers) | 508 << static_cast<const void*>(framebuffers) << ")"); |
| 521 << ")"); // NOLINT | |
| 522 if (n < 0) { | 509 if (n < 0) { |
| 523 SetGLError(GL_INVALID_VALUE, "glGenFramebuffers", "n < 0"); | 510 SetGLError(GL_INVALID_VALUE, "glGenFramebuffers", "n < 0"); |
| 524 return; | 511 return; |
| 525 } | 512 } |
| 526 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 513 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 527 GetIdHandler(id_namespaces::kFramebuffers)->MakeIds(this, 0, n, framebuffers); | 514 GetIdHandler(id_namespaces::kFramebuffers)->MakeIds(this, 0, n, framebuffers); |
| 528 GenFramebuffersHelper(n, framebuffers); | 515 GenFramebuffersHelper(n, framebuffers); |
| 529 helper_->GenFramebuffersImmediate(n, framebuffers); | 516 helper_->GenFramebuffersImmediate(n, framebuffers); |
| 530 if (share_group_->bind_generates_resource()) | 517 if (share_group_->bind_generates_resource()) |
| 531 helper_->CommandBufferHelper::Flush(); | 518 helper_->CommandBufferHelper::Flush(); |
| 532 GPU_CLIENT_LOG_CODE_BLOCK({ | 519 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 533 for (GLsizei i = 0; i < n; ++i) { | 520 for (GLsizei i = 0; i < n; ++i) { |
| 534 GPU_CLIENT_LOG(" " << i << ": " << framebuffers[i]); | 521 GPU_CLIENT_LOG(" " << i << ": " << framebuffers[i]); |
| 535 } | 522 } |
| 536 }); | 523 }); |
| 537 CheckGLError(); | 524 CheckGLError(); |
| 538 } | 525 } |
| 539 | 526 |
| 540 void GLES2Implementation::GenRenderbuffers(GLsizei n, GLuint* renderbuffers) { | 527 void GLES2Implementation::GenRenderbuffers(GLsizei n, GLuint* renderbuffers) { |
| 541 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenRenderbuffers(" << n << ", " | 528 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenRenderbuffers(" << n << ", " |
| 542 << static_cast<const void*>(renderbuffers) | 529 << static_cast<const void*>(renderbuffers) << ")"); |
| 543 << ")"); // NOLINT | |
| 544 if (n < 0) { | 530 if (n < 0) { |
| 545 SetGLError(GL_INVALID_VALUE, "glGenRenderbuffers", "n < 0"); | 531 SetGLError(GL_INVALID_VALUE, "glGenRenderbuffers", "n < 0"); |
| 546 return; | 532 return; |
| 547 } | 533 } |
| 548 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 534 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 549 GetIdHandler(id_namespaces::kRenderbuffers) | 535 GetIdHandler(id_namespaces::kRenderbuffers) |
| 550 ->MakeIds(this, 0, n, renderbuffers); | 536 ->MakeIds(this, 0, n, renderbuffers); |
| 551 GenRenderbuffersHelper(n, renderbuffers); | 537 GenRenderbuffersHelper(n, renderbuffers); |
| 552 helper_->GenRenderbuffersImmediate(n, renderbuffers); | 538 helper_->GenRenderbuffersImmediate(n, renderbuffers); |
| 553 if (share_group_->bind_generates_resource()) | 539 if (share_group_->bind_generates_resource()) |
| 554 helper_->CommandBufferHelper::Flush(); | 540 helper_->CommandBufferHelper::Flush(); |
| 555 GPU_CLIENT_LOG_CODE_BLOCK({ | 541 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 556 for (GLsizei i = 0; i < n; ++i) { | 542 for (GLsizei i = 0; i < n; ++i) { |
| 557 GPU_CLIENT_LOG(" " << i << ": " << renderbuffers[i]); | 543 GPU_CLIENT_LOG(" " << i << ": " << renderbuffers[i]); |
| 558 } | 544 } |
| 559 }); | 545 }); |
| 560 CheckGLError(); | 546 CheckGLError(); |
| 561 } | 547 } |
| 562 | 548 |
| 563 void GLES2Implementation::GenTextures(GLsizei n, GLuint* textures) { | 549 void GLES2Implementation::GenTextures(GLsizei n, GLuint* textures) { |
| 564 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenTextures(" << n << ", " | 550 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenTextures(" << n << ", " |
| 565 << static_cast<const void*>(textures) << ")"); // NOLINT | 551 << static_cast<const void*>(textures) << ")"); |
| 566 if (n < 0) { | 552 if (n < 0) { |
| 567 SetGLError(GL_INVALID_VALUE, "glGenTextures", "n < 0"); | 553 SetGLError(GL_INVALID_VALUE, "glGenTextures", "n < 0"); |
| 568 return; | 554 return; |
| 569 } | 555 } |
| 570 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 556 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 571 GetIdHandler(id_namespaces::kTextures)->MakeIds(this, 0, n, textures); | 557 GetIdHandler(id_namespaces::kTextures)->MakeIds(this, 0, n, textures); |
| 572 GenTexturesHelper(n, textures); | 558 GenTexturesHelper(n, textures); |
| 573 helper_->GenTexturesImmediate(n, textures); | 559 helper_->GenTexturesImmediate(n, textures); |
| 574 if (share_group_->bind_generates_resource()) | 560 if (share_group_->bind_generates_resource()) |
| 575 helper_->CommandBufferHelper::Flush(); | 561 helper_->CommandBufferHelper::Flush(); |
| 576 GPU_CLIENT_LOG_CODE_BLOCK({ | 562 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 577 for (GLsizei i = 0; i < n; ++i) { | 563 for (GLsizei i = 0; i < n; ++i) { |
| 578 GPU_CLIENT_LOG(" " << i << ": " << textures[i]); | 564 GPU_CLIENT_LOG(" " << i << ": " << textures[i]); |
| 579 } | 565 } |
| 580 }); | 566 }); |
| 581 CheckGLError(); | 567 CheckGLError(); |
| 582 } | 568 } |
| 583 | 569 |
| 584 void GLES2Implementation::GetBooleanv(GLenum pname, GLboolean* params) { | 570 void GLES2Implementation::GetBooleanv(GLenum pname, GLboolean* params) { |
| 585 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 571 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 586 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLboolean, params); | 572 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLboolean, params); |
| 587 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetBooleanv(" | 573 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetBooleanv(" |
| 588 << GLES2Util::GetStringGLState(pname) << ", " | 574 << GLES2Util::GetStringGLState(pname) << ", " |
| 589 << static_cast<const void*>(params) << ")"); // NOLINT | 575 << static_cast<const void*>(params) << ")"); |
| 590 TRACE_EVENT0("gpu", "GLES2Implementation::GetBooleanv"); | 576 TRACE_EVENT0("gpu", "GLES2Implementation::GetBooleanv"); |
| 591 if (GetBooleanvHelper(pname, params)) { | 577 if (GetBooleanvHelper(pname, params)) { |
| 592 return; | 578 return; |
| 593 } | 579 } |
| 594 typedef cmds::GetBooleanv::Result Result; | 580 typedef cmds::GetBooleanv::Result Result; |
| 595 Result* result = GetResultAs<Result*>(); | 581 Result* result = GetResultAs<Result*>(); |
| 596 if (!result) { | 582 if (!result) { |
| 597 return; | 583 return; |
| 598 } | 584 } |
| 599 result->SetNumResults(0); | 585 result->SetNumResults(0); |
| 600 helper_->GetBooleanv(pname, GetResultShmId(), GetResultShmOffset()); | 586 helper_->GetBooleanv(pname, GetResultShmId(), GetResultShmOffset()); |
| 601 WaitForCmd(); | 587 WaitForCmd(); |
| 602 result->CopyResult(params); | 588 result->CopyResult(params); |
| 603 GPU_CLIENT_LOG_CODE_BLOCK({ | 589 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 604 for (int32 i = 0; i < result->GetNumResults(); ++i) { | 590 for (int32 i = 0; i < result->GetNumResults(); ++i) { |
| 605 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | 591 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); |
| 606 } | 592 } |
| 607 }); | 593 }); |
| 608 CheckGLError(); | 594 CheckGLError(); |
| 609 } | 595 } |
| 610 void GLES2Implementation::GetBufferParameteriv(GLenum target, | 596 void GLES2Implementation::GetBufferParameteriv(GLenum target, |
| 611 GLenum pname, | 597 GLenum pname, |
| 612 GLint* params) { | 598 GLint* params) { |
| 613 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 599 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 614 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); | 600 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); |
| 615 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetBufferParameteriv(" | 601 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetBufferParameteriv(" |
| 616 << GLES2Util::GetStringBufferTarget(target) << ", " | 602 << GLES2Util::GetStringBufferTarget(target) << ", " |
| 617 << GLES2Util::GetStringBufferParameter(pname) << ", " | 603 << GLES2Util::GetStringBufferParameter(pname) << ", " |
| 618 << static_cast<const void*>(params) << ")"); // NOLINT | 604 << static_cast<const void*>(params) << ")"); |
| 619 TRACE_EVENT0("gpu", "GLES2Implementation::GetBufferParameteriv"); | 605 TRACE_EVENT0("gpu", "GLES2Implementation::GetBufferParameteriv"); |
| 620 if (GetBufferParameterivHelper(target, pname, params)) { | 606 if (GetBufferParameterivHelper(target, pname, params)) { |
| 621 return; | 607 return; |
| 622 } | 608 } |
| 623 typedef cmds::GetBufferParameteriv::Result Result; | 609 typedef cmds::GetBufferParameteriv::Result Result; |
| 624 Result* result = GetResultAs<Result*>(); | 610 Result* result = GetResultAs<Result*>(); |
| 625 if (!result) { | 611 if (!result) { |
| 626 return; | 612 return; |
| 627 } | 613 } |
| 628 result->SetNumResults(0); | 614 result->SetNumResults(0); |
| 629 helper_->GetBufferParameteriv( | 615 helper_->GetBufferParameteriv( |
| 630 target, pname, GetResultShmId(), GetResultShmOffset()); | 616 target, pname, GetResultShmId(), GetResultShmOffset()); |
| 631 WaitForCmd(); | 617 WaitForCmd(); |
| 632 result->CopyResult(params); | 618 result->CopyResult(params); |
| 633 GPU_CLIENT_LOG_CODE_BLOCK({ | 619 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 634 for (int32 i = 0; i < result->GetNumResults(); ++i) { | 620 for (int32 i = 0; i < result->GetNumResults(); ++i) { |
| 635 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | 621 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); |
| 636 } | 622 } |
| 637 }); | 623 }); |
| 638 CheckGLError(); | 624 CheckGLError(); |
| 639 } | 625 } |
| 640 void GLES2Implementation::GetFloatv(GLenum pname, GLfloat* params) { | 626 void GLES2Implementation::GetFloatv(GLenum pname, GLfloat* params) { |
| 641 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 627 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 642 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetFloatv(" | 628 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetFloatv(" |
| 643 << GLES2Util::GetStringGLState(pname) << ", " | 629 << GLES2Util::GetStringGLState(pname) << ", " |
| 644 << static_cast<const void*>(params) << ")"); // NOLINT | 630 << static_cast<const void*>(params) << ")"); |
| 645 TRACE_EVENT0("gpu", "GLES2Implementation::GetFloatv"); | 631 TRACE_EVENT0("gpu", "GLES2Implementation::GetFloatv"); |
| 646 if (GetFloatvHelper(pname, params)) { | 632 if (GetFloatvHelper(pname, params)) { |
| 647 return; | 633 return; |
| 648 } | 634 } |
| 649 typedef cmds::GetFloatv::Result Result; | 635 typedef cmds::GetFloatv::Result Result; |
| 650 Result* result = GetResultAs<Result*>(); | 636 Result* result = GetResultAs<Result*>(); |
| 651 if (!result) { | 637 if (!result) { |
| 652 return; | 638 return; |
| 653 } | 639 } |
| 654 result->SetNumResults(0); | 640 result->SetNumResults(0); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 666 GLenum attachment, | 652 GLenum attachment, |
| 667 GLenum pname, | 653 GLenum pname, |
| 668 GLint* params) { | 654 GLint* params) { |
| 669 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 655 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 670 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); | 656 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); |
| 671 GPU_CLIENT_LOG("[" << GetLogPrefix() | 657 GPU_CLIENT_LOG("[" << GetLogPrefix() |
| 672 << "] glGetFramebufferAttachmentParameteriv(" | 658 << "] glGetFramebufferAttachmentParameteriv(" |
| 673 << GLES2Util::GetStringFrameBufferTarget(target) << ", " | 659 << GLES2Util::GetStringFrameBufferTarget(target) << ", " |
| 674 << GLES2Util::GetStringAttachment(attachment) << ", " | 660 << GLES2Util::GetStringAttachment(attachment) << ", " |
| 675 << GLES2Util::GetStringFrameBufferParameter(pname) << ", " | 661 << GLES2Util::GetStringFrameBufferParameter(pname) << ", " |
| 676 << static_cast<const void*>(params) << ")"); // NOLINT | 662 << static_cast<const void*>(params) << ")"); |
| 677 TRACE_EVENT0( | 663 TRACE_EVENT0("gpu", |
| 678 "gpu", | 664 "GLES2Implementation::GetFramebufferAttachmentParameteriv"); |
| 679 "GLES2Implementation::GetFramebufferAttachmentParameteriv"); // NOLINT | |
| 680 if (GetFramebufferAttachmentParameterivHelper( | 665 if (GetFramebufferAttachmentParameterivHelper( |
| 681 target, attachment, pname, params)) { | 666 target, attachment, pname, params)) { |
| 682 return; | 667 return; |
| 683 } | 668 } |
| 684 typedef cmds::GetFramebufferAttachmentParameteriv::Result Result; | 669 typedef cmds::GetFramebufferAttachmentParameteriv::Result Result; |
| 685 Result* result = GetResultAs<Result*>(); | 670 Result* result = GetResultAs<Result*>(); |
| 686 if (!result) { | 671 if (!result) { |
| 687 return; | 672 return; |
| 688 } | 673 } |
| 689 result->SetNumResults(0); | 674 result->SetNumResults(0); |
| 690 helper_->GetFramebufferAttachmentParameteriv( | 675 helper_->GetFramebufferAttachmentParameteriv( |
| 691 target, attachment, pname, GetResultShmId(), GetResultShmOffset()); | 676 target, attachment, pname, GetResultShmId(), GetResultShmOffset()); |
| 692 WaitForCmd(); | 677 WaitForCmd(); |
| 693 result->CopyResult(params); | 678 result->CopyResult(params); |
| 694 GPU_CLIENT_LOG_CODE_BLOCK({ | 679 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 695 for (int32 i = 0; i < result->GetNumResults(); ++i) { | 680 for (int32 i = 0; i < result->GetNumResults(); ++i) { |
| 696 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | 681 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); |
| 697 } | 682 } |
| 698 }); | 683 }); |
| 699 CheckGLError(); | 684 CheckGLError(); |
| 700 } | 685 } |
| 701 void GLES2Implementation::GetIntegerv(GLenum pname, GLint* params) { | 686 void GLES2Implementation::GetIntegerv(GLenum pname, GLint* params) { |
| 702 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 687 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 703 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); | 688 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); |
| 704 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetIntegerv(" | 689 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetIntegerv(" |
| 705 << GLES2Util::GetStringGLState(pname) << ", " | 690 << GLES2Util::GetStringGLState(pname) << ", " |
| 706 << static_cast<const void*>(params) << ")"); // NOLINT | 691 << static_cast<const void*>(params) << ")"); |
| 707 TRACE_EVENT0("gpu", "GLES2Implementation::GetIntegerv"); | 692 TRACE_EVENT0("gpu", "GLES2Implementation::GetIntegerv"); |
| 708 if (GetIntegervHelper(pname, params)) { | 693 if (GetIntegervHelper(pname, params)) { |
| 709 return; | 694 return; |
| 710 } | 695 } |
| 711 typedef cmds::GetIntegerv::Result Result; | 696 typedef cmds::GetIntegerv::Result Result; |
| 712 Result* result = GetResultAs<Result*>(); | 697 Result* result = GetResultAs<Result*>(); |
| 713 if (!result) { | 698 if (!result) { |
| 714 return; | 699 return; |
| 715 } | 700 } |
| 716 result->SetNumResults(0); | 701 result->SetNumResults(0); |
| 717 helper_->GetIntegerv(pname, GetResultShmId(), GetResultShmOffset()); | 702 helper_->GetIntegerv(pname, GetResultShmId(), GetResultShmOffset()); |
| 718 WaitForCmd(); | 703 WaitForCmd(); |
| 719 result->CopyResult(params); | 704 result->CopyResult(params); |
| 720 GPU_CLIENT_LOG_CODE_BLOCK({ | 705 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 721 for (int32 i = 0; i < result->GetNumResults(); ++i) { | 706 for (int32 i = 0; i < result->GetNumResults(); ++i) { |
| 722 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | 707 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); |
| 723 } | 708 } |
| 724 }); | 709 }); |
| 725 CheckGLError(); | 710 CheckGLError(); |
| 726 } | 711 } |
| 727 void GLES2Implementation::GetProgramiv(GLuint program, | 712 void GLES2Implementation::GetProgramiv(GLuint program, |
| 728 GLenum pname, | 713 GLenum pname, |
| 729 GLint* params) { | 714 GLint* params) { |
| 730 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 715 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 731 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); | 716 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); |
| 732 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetProgramiv(" << program << ", " | 717 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetProgramiv(" << program << ", " |
| 733 << GLES2Util::GetStringProgramParameter(pname) << ", " | 718 << GLES2Util::GetStringProgramParameter(pname) << ", " |
| 734 << static_cast<const void*>(params) << ")"); // NOLINT | 719 << static_cast<const void*>(params) << ")"); |
| 735 TRACE_EVENT0("gpu", "GLES2Implementation::GetProgramiv"); | 720 TRACE_EVENT0("gpu", "GLES2Implementation::GetProgramiv"); |
| 736 if (GetProgramivHelper(program, pname, params)) { | 721 if (GetProgramivHelper(program, pname, params)) { |
| 737 return; | 722 return; |
| 738 } | 723 } |
| 739 typedef cmds::GetProgramiv::Result Result; | 724 typedef cmds::GetProgramiv::Result Result; |
| 740 Result* result = GetResultAs<Result*>(); | 725 Result* result = GetResultAs<Result*>(); |
| 741 if (!result) { | 726 if (!result) { |
| 742 return; | 727 return; |
| 743 } | 728 } |
| 744 result->SetNumResults(0); | 729 result->SetNumResults(0); |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 780 CheckGLError(); | 765 CheckGLError(); |
| 781 } | 766 } |
| 782 void GLES2Implementation::GetRenderbufferParameteriv(GLenum target, | 767 void GLES2Implementation::GetRenderbufferParameteriv(GLenum target, |
| 783 GLenum pname, | 768 GLenum pname, |
| 784 GLint* params) { | 769 GLint* params) { |
| 785 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 770 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 786 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); | 771 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); |
| 787 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetRenderbufferParameteriv(" | 772 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetRenderbufferParameteriv(" |
| 788 << GLES2Util::GetStringRenderBufferTarget(target) << ", " | 773 << GLES2Util::GetStringRenderBufferTarget(target) << ", " |
| 789 << GLES2Util::GetStringRenderBufferParameter(pname) << ", " | 774 << GLES2Util::GetStringRenderBufferParameter(pname) << ", " |
| 790 << static_cast<const void*>(params) << ")"); // NOLINT | 775 << static_cast<const void*>(params) << ")"); |
| 791 TRACE_EVENT0("gpu", "GLES2Implementation::GetRenderbufferParameteriv"); | 776 TRACE_EVENT0("gpu", "GLES2Implementation::GetRenderbufferParameteriv"); |
| 792 if (GetRenderbufferParameterivHelper(target, pname, params)) { | 777 if (GetRenderbufferParameterivHelper(target, pname, params)) { |
| 793 return; | 778 return; |
| 794 } | 779 } |
| 795 typedef cmds::GetRenderbufferParameteriv::Result Result; | 780 typedef cmds::GetRenderbufferParameteriv::Result Result; |
| 796 Result* result = GetResultAs<Result*>(); | 781 Result* result = GetResultAs<Result*>(); |
| 797 if (!result) { | 782 if (!result) { |
| 798 return; | 783 return; |
| 799 } | 784 } |
| 800 result->SetNumResults(0); | 785 result->SetNumResults(0); |
| 801 helper_->GetRenderbufferParameteriv( | 786 helper_->GetRenderbufferParameteriv( |
| 802 target, pname, GetResultShmId(), GetResultShmOffset()); | 787 target, pname, GetResultShmId(), GetResultShmOffset()); |
| 803 WaitForCmd(); | 788 WaitForCmd(); |
| 804 result->CopyResult(params); | 789 result->CopyResult(params); |
| 805 GPU_CLIENT_LOG_CODE_BLOCK({ | 790 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 806 for (int32 i = 0; i < result->GetNumResults(); ++i) { | 791 for (int32 i = 0; i < result->GetNumResults(); ++i) { |
| 807 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | 792 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); |
| 808 } | 793 } |
| 809 }); | 794 }); |
| 810 CheckGLError(); | 795 CheckGLError(); |
| 811 } | 796 } |
| 812 void GLES2Implementation::GetShaderiv(GLuint shader, | 797 void GLES2Implementation::GetShaderiv(GLuint shader, |
| 813 GLenum pname, | 798 GLenum pname, |
| 814 GLint* params) { | 799 GLint* params) { |
| 815 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 800 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 816 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); | 801 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); |
| 817 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetShaderiv(" << shader << ", " | 802 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetShaderiv(" << shader << ", " |
| 818 << GLES2Util::GetStringShaderParameter(pname) << ", " | 803 << GLES2Util::GetStringShaderParameter(pname) << ", " |
| 819 << static_cast<const void*>(params) << ")"); // NOLINT | 804 << static_cast<const void*>(params) << ")"); |
| 820 TRACE_EVENT0("gpu", "GLES2Implementation::GetShaderiv"); | 805 TRACE_EVENT0("gpu", "GLES2Implementation::GetShaderiv"); |
| 821 if (GetShaderivHelper(shader, pname, params)) { | 806 if (GetShaderivHelper(shader, pname, params)) { |
| 822 return; | 807 return; |
| 823 } | 808 } |
| 824 typedef cmds::GetShaderiv::Result Result; | 809 typedef cmds::GetShaderiv::Result Result; |
| 825 Result* result = GetResultAs<Result*>(); | 810 Result* result = GetResultAs<Result*>(); |
| 826 if (!result) { | 811 if (!result) { |
| 827 return; | 812 return; |
| 828 } | 813 } |
| 829 result->SetNumResults(0); | 814 result->SetNumResults(0); |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 891 } | 876 } |
| 892 CheckGLError(); | 877 CheckGLError(); |
| 893 } | 878 } |
| 894 void GLES2Implementation::GetTexParameterfv(GLenum target, | 879 void GLES2Implementation::GetTexParameterfv(GLenum target, |
| 895 GLenum pname, | 880 GLenum pname, |
| 896 GLfloat* params) { | 881 GLfloat* params) { |
| 897 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 882 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 898 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetTexParameterfv(" | 883 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetTexParameterfv(" |
| 899 << GLES2Util::GetStringGetTexParamTarget(target) << ", " | 884 << GLES2Util::GetStringGetTexParamTarget(target) << ", " |
| 900 << GLES2Util::GetStringTextureParameter(pname) << ", " | 885 << GLES2Util::GetStringTextureParameter(pname) << ", " |
| 901 << static_cast<const void*>(params) << ")"); // NOLINT | 886 << static_cast<const void*>(params) << ")"); |
| 902 TRACE_EVENT0("gpu", "GLES2Implementation::GetTexParameterfv"); | 887 TRACE_EVENT0("gpu", "GLES2Implementation::GetTexParameterfv"); |
| 903 if (GetTexParameterfvHelper(target, pname, params)) { | 888 if (GetTexParameterfvHelper(target, pname, params)) { |
| 904 return; | 889 return; |
| 905 } | 890 } |
| 906 typedef cmds::GetTexParameterfv::Result Result; | 891 typedef cmds::GetTexParameterfv::Result Result; |
| 907 Result* result = GetResultAs<Result*>(); | 892 Result* result = GetResultAs<Result*>(); |
| 908 if (!result) { | 893 if (!result) { |
| 909 return; | 894 return; |
| 910 } | 895 } |
| 911 result->SetNumResults(0); | 896 result->SetNumResults(0); |
| 912 helper_->GetTexParameterfv( | 897 helper_->GetTexParameterfv( |
| 913 target, pname, GetResultShmId(), GetResultShmOffset()); | 898 target, pname, GetResultShmId(), GetResultShmOffset()); |
| 914 WaitForCmd(); | 899 WaitForCmd(); |
| 915 result->CopyResult(params); | 900 result->CopyResult(params); |
| 916 GPU_CLIENT_LOG_CODE_BLOCK({ | 901 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 917 for (int32 i = 0; i < result->GetNumResults(); ++i) { | 902 for (int32 i = 0; i < result->GetNumResults(); ++i) { |
| 918 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | 903 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); |
| 919 } | 904 } |
| 920 }); | 905 }); |
| 921 CheckGLError(); | 906 CheckGLError(); |
| 922 } | 907 } |
| 923 void GLES2Implementation::GetTexParameteriv(GLenum target, | 908 void GLES2Implementation::GetTexParameteriv(GLenum target, |
| 924 GLenum pname, | 909 GLenum pname, |
| 925 GLint* params) { | 910 GLint* params) { |
| 926 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 911 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 927 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); | 912 GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); |
| 928 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetTexParameteriv(" | 913 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetTexParameteriv(" |
| 929 << GLES2Util::GetStringGetTexParamTarget(target) << ", " | 914 << GLES2Util::GetStringGetTexParamTarget(target) << ", " |
| 930 << GLES2Util::GetStringTextureParameter(pname) << ", " | 915 << GLES2Util::GetStringTextureParameter(pname) << ", " |
| 931 << static_cast<const void*>(params) << ")"); // NOLINT | 916 << static_cast<const void*>(params) << ")"); |
| 932 TRACE_EVENT0("gpu", "GLES2Implementation::GetTexParameteriv"); | 917 TRACE_EVENT0("gpu", "GLES2Implementation::GetTexParameteriv"); |
| 933 if (GetTexParameterivHelper(target, pname, params)) { | 918 if (GetTexParameterivHelper(target, pname, params)) { |
| 934 return; | 919 return; |
| 935 } | 920 } |
| 936 typedef cmds::GetTexParameteriv::Result Result; | 921 typedef cmds::GetTexParameteriv::Result Result; |
| 937 Result* result = GetResultAs<Result*>(); | 922 Result* result = GetResultAs<Result*>(); |
| 938 if (!result) { | 923 if (!result) { |
| 939 return; | 924 return; |
| 940 } | 925 } |
| 941 result->SetNumResults(0); | 926 result->SetNumResults(0); |
| 942 helper_->GetTexParameteriv( | 927 helper_->GetTexParameteriv( |
| 943 target, pname, GetResultShmId(), GetResultShmOffset()); | 928 target, pname, GetResultShmId(), GetResultShmOffset()); |
| 944 WaitForCmd(); | 929 WaitForCmd(); |
| 945 result->CopyResult(params); | 930 result->CopyResult(params); |
| 946 GPU_CLIENT_LOG_CODE_BLOCK({ | 931 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 947 for (int32 i = 0; i < result->GetNumResults(); ++i) { | 932 for (int32 i = 0; i < result->GetNumResults(); ++i) { |
| 948 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); | 933 GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); |
| 949 } | 934 } |
| 950 }); | 935 }); |
| 951 CheckGLError(); | 936 CheckGLError(); |
| 952 } | 937 } |
| 953 void GLES2Implementation::Hint(GLenum target, GLenum mode) { | 938 void GLES2Implementation::Hint(GLenum target, GLenum mode) { |
| 954 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 939 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 955 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glHint(" | 940 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glHint(" |
| 956 << GLES2Util::GetStringHintTarget(target) << ", " | 941 << GLES2Util::GetStringHintTarget(target) << ", " |
| 957 << GLES2Util::GetStringHintMode(mode) << ")"); // NOLINT | 942 << GLES2Util::GetStringHintMode(mode) << ")"); |
| 958 helper_->Hint(target, mode); | 943 helper_->Hint(target, mode); |
| 959 CheckGLError(); | 944 CheckGLError(); |
| 960 } | 945 } |
| 961 | 946 |
| 962 GLboolean GLES2Implementation::IsBuffer(GLuint buffer) { | 947 GLboolean GLES2Implementation::IsBuffer(GLuint buffer) { |
| 963 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 948 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 964 TRACE_EVENT0("gpu", "GLES2Implementation::IsBuffer"); | 949 TRACE_EVENT0("gpu", "GLES2Implementation::IsBuffer"); |
| 965 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glIsBuffer(" << buffer << ")"); | 950 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glIsBuffer(" << buffer << ")"); |
| 966 typedef cmds::IsBuffer::Result Result; | 951 typedef cmds::IsBuffer::Result Result; |
| 967 Result* result = GetResultAs<Result*>(); | 952 Result* result = GetResultAs<Result*>(); |
| 968 if (!result) { | 953 if (!result) { |
| 969 return GL_FALSE; | 954 return GL_FALSE; |
| 970 } | 955 } |
| 971 *result = 0; | 956 *result = 0; |
| 972 helper_->IsBuffer(buffer, GetResultShmId(), GetResultShmOffset()); | 957 helper_->IsBuffer(buffer, GetResultShmId(), GetResultShmOffset()); |
| 973 WaitForCmd(); | 958 WaitForCmd(); |
| 974 GLboolean result_value = *result; | 959 GLboolean result_value = *result; |
| 975 GPU_CLIENT_LOG("returned " << result_value); | 960 GPU_CLIENT_LOG("returned " << result_value); |
| 976 CheckGLError(); | 961 CheckGLError(); |
| 977 return result_value; | 962 return result_value; |
| 978 } | 963 } |
| 979 | 964 |
| 980 GLboolean GLES2Implementation::IsFramebuffer(GLuint framebuffer) { | 965 GLboolean GLES2Implementation::IsFramebuffer(GLuint framebuffer) { |
| 981 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 966 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 982 TRACE_EVENT0("gpu", "GLES2Implementation::IsFramebuffer"); | 967 TRACE_EVENT0("gpu", "GLES2Implementation::IsFramebuffer"); |
| 983 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glIsFramebuffer(" << framebuffer | 968 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glIsFramebuffer(" << framebuffer |
| 984 << ")"); // NOLINT | 969 << ")"); |
| 985 typedef cmds::IsFramebuffer::Result Result; | 970 typedef cmds::IsFramebuffer::Result Result; |
| 986 Result* result = GetResultAs<Result*>(); | 971 Result* result = GetResultAs<Result*>(); |
| 987 if (!result) { | 972 if (!result) { |
| 988 return GL_FALSE; | 973 return GL_FALSE; |
| 989 } | 974 } |
| 990 *result = 0; | 975 *result = 0; |
| 991 helper_->IsFramebuffer(framebuffer, GetResultShmId(), GetResultShmOffset()); | 976 helper_->IsFramebuffer(framebuffer, GetResultShmId(), GetResultShmOffset()); |
| 992 WaitForCmd(); | 977 WaitForCmd(); |
| 993 GLboolean result_value = *result; | 978 GLboolean result_value = *result; |
| 994 GPU_CLIENT_LOG("returned " << result_value); | 979 GPU_CLIENT_LOG("returned " << result_value); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 1011 GLboolean result_value = *result; | 996 GLboolean result_value = *result; |
| 1012 GPU_CLIENT_LOG("returned " << result_value); | 997 GPU_CLIENT_LOG("returned " << result_value); |
| 1013 CheckGLError(); | 998 CheckGLError(); |
| 1014 return result_value; | 999 return result_value; |
| 1015 } | 1000 } |
| 1016 | 1001 |
| 1017 GLboolean GLES2Implementation::IsRenderbuffer(GLuint renderbuffer) { | 1002 GLboolean GLES2Implementation::IsRenderbuffer(GLuint renderbuffer) { |
| 1018 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1003 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1019 TRACE_EVENT0("gpu", "GLES2Implementation::IsRenderbuffer"); | 1004 TRACE_EVENT0("gpu", "GLES2Implementation::IsRenderbuffer"); |
| 1020 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glIsRenderbuffer(" << renderbuffer | 1005 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glIsRenderbuffer(" << renderbuffer |
| 1021 << ")"); // NOLINT | 1006 << ")"); |
| 1022 typedef cmds::IsRenderbuffer::Result Result; | 1007 typedef cmds::IsRenderbuffer::Result Result; |
| 1023 Result* result = GetResultAs<Result*>(); | 1008 Result* result = GetResultAs<Result*>(); |
| 1024 if (!result) { | 1009 if (!result) { |
| 1025 return GL_FALSE; | 1010 return GL_FALSE; |
| 1026 } | 1011 } |
| 1027 *result = 0; | 1012 *result = 0; |
| 1028 helper_->IsRenderbuffer(renderbuffer, GetResultShmId(), GetResultShmOffset()); | 1013 helper_->IsRenderbuffer(renderbuffer, GetResultShmId(), GetResultShmOffset()); |
| 1029 WaitForCmd(); | 1014 WaitForCmd(); |
| 1030 GLboolean result_value = *result; | 1015 GLboolean result_value = *result; |
| 1031 GPU_CLIENT_LOG("returned " << result_value); | 1016 GPU_CLIENT_LOG("returned " << result_value); |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1072 void GLES2Implementation::LineWidth(GLfloat width) { | 1057 void GLES2Implementation::LineWidth(GLfloat width) { |
| 1073 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1058 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1074 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glLineWidth(" << width << ")"); | 1059 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glLineWidth(" << width << ")"); |
| 1075 helper_->LineWidth(width); | 1060 helper_->LineWidth(width); |
| 1076 CheckGLError(); | 1061 CheckGLError(); |
| 1077 } | 1062 } |
| 1078 | 1063 |
| 1079 void GLES2Implementation::PolygonOffset(GLfloat factor, GLfloat units) { | 1064 void GLES2Implementation::PolygonOffset(GLfloat factor, GLfloat units) { |
| 1080 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1065 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1081 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glPolygonOffset(" << factor << ", " | 1066 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glPolygonOffset(" << factor << ", " |
| 1082 << units << ")"); // NOLINT | 1067 << units << ")"); |
| 1083 helper_->PolygonOffset(factor, units); | 1068 helper_->PolygonOffset(factor, units); |
| 1084 CheckGLError(); | 1069 CheckGLError(); |
| 1085 } | 1070 } |
| 1086 | 1071 |
| 1087 void GLES2Implementation::ReleaseShaderCompiler() { | 1072 void GLES2Implementation::ReleaseShaderCompiler() { |
| 1088 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1073 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1089 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glReleaseShaderCompiler(" | 1074 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glReleaseShaderCompiler(" |
| 1090 << ")"); | 1075 << ")"); |
| 1091 helper_->ReleaseShaderCompiler(); | 1076 helper_->ReleaseShaderCompiler(); |
| 1092 CheckGLError(); | 1077 CheckGLError(); |
| 1093 } | 1078 } |
| 1094 | 1079 |
| 1095 void GLES2Implementation::RenderbufferStorage(GLenum target, | 1080 void GLES2Implementation::RenderbufferStorage(GLenum target, |
| 1096 GLenum internalformat, | 1081 GLenum internalformat, |
| 1097 GLsizei width, | 1082 GLsizei width, |
| 1098 GLsizei height) { | 1083 GLsizei height) { |
| 1099 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1084 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1100 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glRenderbufferStorage(" | 1085 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glRenderbufferStorage(" |
| 1101 << GLES2Util::GetStringRenderBufferTarget(target) << ", " | 1086 << GLES2Util::GetStringRenderBufferTarget(target) << ", " |
| 1102 << GLES2Util::GetStringRenderBufferFormat(internalformat) | 1087 << GLES2Util::GetStringRenderBufferFormat(internalformat) |
| 1103 << ", " << width << ", " << height << ")"); // NOLINT | 1088 << ", " << width << ", " << height << ")"); |
| 1104 if (width < 0) { | 1089 if (width < 0) { |
| 1105 SetGLError(GL_INVALID_VALUE, "glRenderbufferStorage", "width < 0"); | 1090 SetGLError(GL_INVALID_VALUE, "glRenderbufferStorage", "width < 0"); |
| 1106 return; | 1091 return; |
| 1107 } | 1092 } |
| 1108 if (height < 0) { | 1093 if (height < 0) { |
| 1109 SetGLError(GL_INVALID_VALUE, "glRenderbufferStorage", "height < 0"); | 1094 SetGLError(GL_INVALID_VALUE, "glRenderbufferStorage", "height < 0"); |
| 1110 return; | 1095 return; |
| 1111 } | 1096 } |
| 1112 helper_->RenderbufferStorage(target, internalformat, width, height); | 1097 helper_->RenderbufferStorage(target, internalformat, width, height); |
| 1113 CheckGLError(); | 1098 CheckGLError(); |
| 1114 } | 1099 } |
| 1115 | 1100 |
| 1116 void GLES2Implementation::SampleCoverage(GLclampf value, GLboolean invert) { | 1101 void GLES2Implementation::SampleCoverage(GLclampf value, GLboolean invert) { |
| 1117 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1102 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1118 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glSampleCoverage(" << value << ", " | 1103 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glSampleCoverage(" << value << ", " |
| 1119 << GLES2Util::GetStringBool(invert) << ")"); // NOLINT | 1104 << GLES2Util::GetStringBool(invert) << ")"); |
| 1120 helper_->SampleCoverage(value, invert); | 1105 helper_->SampleCoverage(value, invert); |
| 1121 CheckGLError(); | 1106 CheckGLError(); |
| 1122 } | 1107 } |
| 1123 | 1108 |
| 1124 void GLES2Implementation::Scissor(GLint x, | 1109 void GLES2Implementation::Scissor(GLint x, |
| 1125 GLint y, | 1110 GLint y, |
| 1126 GLsizei width, | 1111 GLsizei width, |
| 1127 GLsizei height) { | 1112 GLsizei height) { |
| 1128 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1113 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1129 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glScissor(" << x << ", " << y | 1114 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glScissor(" << x << ", " << y |
| 1130 << ", " << width << ", " << height << ")"); // NOLINT | 1115 << ", " << width << ", " << height << ")"); |
| 1131 if (width < 0) { | 1116 if (width < 0) { |
| 1132 SetGLError(GL_INVALID_VALUE, "glScissor", "width < 0"); | 1117 SetGLError(GL_INVALID_VALUE, "glScissor", "width < 0"); |
| 1133 return; | 1118 return; |
| 1134 } | 1119 } |
| 1135 if (height < 0) { | 1120 if (height < 0) { |
| 1136 SetGLError(GL_INVALID_VALUE, "glScissor", "height < 0"); | 1121 SetGLError(GL_INVALID_VALUE, "glScissor", "height < 0"); |
| 1137 return; | 1122 return; |
| 1138 } | 1123 } |
| 1139 helper_->Scissor(x, y, width, height); | 1124 helper_->Scissor(x, y, width, height); |
| 1140 CheckGLError(); | 1125 CheckGLError(); |
| 1141 } | 1126 } |
| 1142 | 1127 |
| 1143 void GLES2Implementation::StencilFunc(GLenum func, GLint ref, GLuint mask) { | 1128 void GLES2Implementation::StencilFunc(GLenum func, GLint ref, GLuint mask) { |
| 1144 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1129 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1145 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilFunc(" | 1130 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilFunc(" |
| 1146 << GLES2Util::GetStringCmpFunction(func) << ", " << ref | 1131 << GLES2Util::GetStringCmpFunction(func) << ", " << ref |
| 1147 << ", " << mask << ")"); // NOLINT | 1132 << ", " << mask << ")"); |
| 1148 helper_->StencilFunc(func, ref, mask); | 1133 helper_->StencilFunc(func, ref, mask); |
| 1149 CheckGLError(); | 1134 CheckGLError(); |
| 1150 } | 1135 } |
| 1151 | 1136 |
| 1152 void GLES2Implementation::StencilFuncSeparate(GLenum face, | 1137 void GLES2Implementation::StencilFuncSeparate(GLenum face, |
| 1153 GLenum func, | 1138 GLenum func, |
| 1154 GLint ref, | 1139 GLint ref, |
| 1155 GLuint mask) { | 1140 GLuint mask) { |
| 1156 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1141 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1157 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilFuncSeparate(" | 1142 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilFuncSeparate(" |
| 1158 << GLES2Util::GetStringFaceType(face) << ", " | 1143 << GLES2Util::GetStringFaceType(face) << ", " |
| 1159 << GLES2Util::GetStringCmpFunction(func) << ", " << ref | 1144 << GLES2Util::GetStringCmpFunction(func) << ", " << ref |
| 1160 << ", " << mask << ")"); // NOLINT | 1145 << ", " << mask << ")"); |
| 1161 helper_->StencilFuncSeparate(face, func, ref, mask); | 1146 helper_->StencilFuncSeparate(face, func, ref, mask); |
| 1162 CheckGLError(); | 1147 CheckGLError(); |
| 1163 } | 1148 } |
| 1164 | 1149 |
| 1165 void GLES2Implementation::StencilMask(GLuint mask) { | 1150 void GLES2Implementation::StencilMask(GLuint mask) { |
| 1166 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1151 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1167 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilMask(" << mask << ")"); | 1152 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilMask(" << mask << ")"); |
| 1168 helper_->StencilMask(mask); | 1153 helper_->StencilMask(mask); |
| 1169 CheckGLError(); | 1154 CheckGLError(); |
| 1170 } | 1155 } |
| 1171 | 1156 |
| 1172 void GLES2Implementation::StencilMaskSeparate(GLenum face, GLuint mask) { | 1157 void GLES2Implementation::StencilMaskSeparate(GLenum face, GLuint mask) { |
| 1173 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1158 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1174 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilMaskSeparate(" | 1159 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilMaskSeparate(" |
| 1175 << GLES2Util::GetStringFaceType(face) << ", " << mask | 1160 << GLES2Util::GetStringFaceType(face) << ", " << mask |
| 1176 << ")"); // NOLINT | 1161 << ")"); |
| 1177 helper_->StencilMaskSeparate(face, mask); | 1162 helper_->StencilMaskSeparate(face, mask); |
| 1178 CheckGLError(); | 1163 CheckGLError(); |
| 1179 } | 1164 } |
| 1180 | 1165 |
| 1181 void GLES2Implementation::StencilOp(GLenum fail, GLenum zfail, GLenum zpass) { | 1166 void GLES2Implementation::StencilOp(GLenum fail, GLenum zfail, GLenum zpass) { |
| 1182 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1167 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1183 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilOp(" | 1168 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilOp(" |
| 1184 << GLES2Util::GetStringStencilOp(fail) << ", " | 1169 << GLES2Util::GetStringStencilOp(fail) << ", " |
| 1185 << GLES2Util::GetStringStencilOp(zfail) << ", " | 1170 << GLES2Util::GetStringStencilOp(zfail) << ", " |
| 1186 << GLES2Util::GetStringStencilOp(zpass) << ")"); // NOLINT | 1171 << GLES2Util::GetStringStencilOp(zpass) << ")"); |
| 1187 helper_->StencilOp(fail, zfail, zpass); | 1172 helper_->StencilOp(fail, zfail, zpass); |
| 1188 CheckGLError(); | 1173 CheckGLError(); |
| 1189 } | 1174 } |
| 1190 | 1175 |
| 1191 void GLES2Implementation::StencilOpSeparate(GLenum face, | 1176 void GLES2Implementation::StencilOpSeparate(GLenum face, |
| 1192 GLenum fail, | 1177 GLenum fail, |
| 1193 GLenum zfail, | 1178 GLenum zfail, |
| 1194 GLenum zpass) { | 1179 GLenum zpass) { |
| 1195 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1180 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1196 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilOpSeparate(" | 1181 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glStencilOpSeparate(" |
| 1197 << GLES2Util::GetStringFaceType(face) << ", " | 1182 << GLES2Util::GetStringFaceType(face) << ", " |
| 1198 << GLES2Util::GetStringStencilOp(fail) << ", " | 1183 << GLES2Util::GetStringStencilOp(fail) << ", " |
| 1199 << GLES2Util::GetStringStencilOp(zfail) << ", " | 1184 << GLES2Util::GetStringStencilOp(zfail) << ", " |
| 1200 << GLES2Util::GetStringStencilOp(zpass) << ")"); // NOLINT | 1185 << GLES2Util::GetStringStencilOp(zpass) << ")"); |
| 1201 helper_->StencilOpSeparate(face, fail, zfail, zpass); | 1186 helper_->StencilOpSeparate(face, fail, zfail, zpass); |
| 1202 CheckGLError(); | 1187 CheckGLError(); |
| 1203 } | 1188 } |
| 1204 | 1189 |
| 1205 void GLES2Implementation::TexParameterf(GLenum target, | 1190 void GLES2Implementation::TexParameterf(GLenum target, |
| 1206 GLenum pname, | 1191 GLenum pname, |
| 1207 GLfloat param) { | 1192 GLfloat param) { |
| 1208 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1193 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1209 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTexParameterf(" | 1194 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTexParameterf(" |
| 1210 << GLES2Util::GetStringTextureBindTarget(target) << ", " | 1195 << GLES2Util::GetStringTextureBindTarget(target) << ", " |
| 1211 << GLES2Util::GetStringTextureParameter(pname) << ", " | 1196 << GLES2Util::GetStringTextureParameter(pname) << ", " |
| 1212 << param << ")"); // NOLINT | 1197 << param << ")"); |
| 1213 helper_->TexParameterf(target, pname, param); | 1198 helper_->TexParameterf(target, pname, param); |
| 1214 CheckGLError(); | 1199 CheckGLError(); |
| 1215 } | 1200 } |
| 1216 | 1201 |
| 1217 void GLES2Implementation::TexParameterfv(GLenum target, | 1202 void GLES2Implementation::TexParameterfv(GLenum target, |
| 1218 GLenum pname, | 1203 GLenum pname, |
| 1219 const GLfloat* params) { | 1204 const GLfloat* params) { |
| 1220 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1205 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1221 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTexParameterfv(" | 1206 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTexParameterfv(" |
| 1222 << GLES2Util::GetStringTextureBindTarget(target) << ", " | 1207 << GLES2Util::GetStringTextureBindTarget(target) << ", " |
| 1223 << GLES2Util::GetStringTextureParameter(pname) << ", " | 1208 << GLES2Util::GetStringTextureParameter(pname) << ", " |
| 1224 << static_cast<const void*>(params) << ")"); // NOLINT | 1209 << static_cast<const void*>(params) << ")"); |
| 1225 GPU_CLIENT_LOG("values: " << params[0]); | 1210 GPU_CLIENT_LOG("values: " << params[0]); |
| 1226 helper_->TexParameterfvImmediate(target, pname, params); | 1211 helper_->TexParameterfvImmediate(target, pname, params); |
| 1227 CheckGLError(); | 1212 CheckGLError(); |
| 1228 } | 1213 } |
| 1229 | 1214 |
| 1230 void GLES2Implementation::TexParameteri(GLenum target, | 1215 void GLES2Implementation::TexParameteri(GLenum target, |
| 1231 GLenum pname, | 1216 GLenum pname, |
| 1232 GLint param) { | 1217 GLint param) { |
| 1233 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1218 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1234 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTexParameteri(" | 1219 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTexParameteri(" |
| 1235 << GLES2Util::GetStringTextureBindTarget(target) << ", " | 1220 << GLES2Util::GetStringTextureBindTarget(target) << ", " |
| 1236 << GLES2Util::GetStringTextureParameter(pname) << ", " | 1221 << GLES2Util::GetStringTextureParameter(pname) << ", " |
| 1237 << param << ")"); // NOLINT | 1222 << param << ")"); |
| 1238 helper_->TexParameteri(target, pname, param); | 1223 helper_->TexParameteri(target, pname, param); |
| 1239 CheckGLError(); | 1224 CheckGLError(); |
| 1240 } | 1225 } |
| 1241 | 1226 |
| 1242 void GLES2Implementation::TexParameteriv(GLenum target, | 1227 void GLES2Implementation::TexParameteriv(GLenum target, |
| 1243 GLenum pname, | 1228 GLenum pname, |
| 1244 const GLint* params) { | 1229 const GLint* params) { |
| 1245 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1230 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1246 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTexParameteriv(" | 1231 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTexParameteriv(" |
| 1247 << GLES2Util::GetStringTextureBindTarget(target) << ", " | 1232 << GLES2Util::GetStringTextureBindTarget(target) << ", " |
| 1248 << GLES2Util::GetStringTextureParameter(pname) << ", " | 1233 << GLES2Util::GetStringTextureParameter(pname) << ", " |
| 1249 << static_cast<const void*>(params) << ")"); // NOLINT | 1234 << static_cast<const void*>(params) << ")"); |
| 1250 GPU_CLIENT_LOG("values: " << params[0]); | 1235 GPU_CLIENT_LOG("values: " << params[0]); |
| 1251 helper_->TexParameterivImmediate(target, pname, params); | 1236 helper_->TexParameterivImmediate(target, pname, params); |
| 1252 CheckGLError(); | 1237 CheckGLError(); |
| 1253 } | 1238 } |
| 1254 | 1239 |
| 1255 void GLES2Implementation::Uniform1f(GLint location, GLfloat x) { | 1240 void GLES2Implementation::Uniform1f(GLint location, GLfloat x) { |
| 1256 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1241 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1257 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform1f(" << location << ", " | 1242 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform1f(" << location << ", " |
| 1258 << x << ")"); // NOLINT | 1243 << x << ")"); |
| 1259 helper_->Uniform1f(location, x); | 1244 helper_->Uniform1f(location, x); |
| 1260 CheckGLError(); | 1245 CheckGLError(); |
| 1261 } | 1246 } |
| 1262 | 1247 |
| 1263 void GLES2Implementation::Uniform1fv(GLint location, | 1248 void GLES2Implementation::Uniform1fv(GLint location, |
| 1264 GLsizei count, | 1249 GLsizei count, |
| 1265 const GLfloat* v) { | 1250 const GLfloat* v) { |
| 1266 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1251 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1267 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform1fv(" << location << ", " | 1252 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform1fv(" << location << ", " |
| 1268 << count << ", " << static_cast<const void*>(v) | 1253 << count << ", " << static_cast<const void*>(v) << ")"); |
| 1269 << ")"); // NOLINT | |
| 1270 GPU_CLIENT_LOG_CODE_BLOCK({ | 1254 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 1271 for (GLsizei i = 0; i < count; ++i) { | 1255 for (GLsizei i = 0; i < count; ++i) { |
| 1272 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 1]); | 1256 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 1]); |
| 1273 } | 1257 } |
| 1274 }); | 1258 }); |
| 1275 if (count < 0) { | 1259 if (count < 0) { |
| 1276 SetGLError(GL_INVALID_VALUE, "glUniform1fv", "count < 0"); | 1260 SetGLError(GL_INVALID_VALUE, "glUniform1fv", "count < 0"); |
| 1277 return; | 1261 return; |
| 1278 } | 1262 } |
| 1279 helper_->Uniform1fvImmediate(location, count, v); | 1263 helper_->Uniform1fvImmediate(location, count, v); |
| 1280 CheckGLError(); | 1264 CheckGLError(); |
| 1281 } | 1265 } |
| 1282 | 1266 |
| 1283 void GLES2Implementation::Uniform1i(GLint location, GLint x) { | 1267 void GLES2Implementation::Uniform1i(GLint location, GLint x) { |
| 1284 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1268 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1285 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform1i(" << location << ", " | 1269 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform1i(" << location << ", " |
| 1286 << x << ")"); // NOLINT | 1270 << x << ")"); |
| 1287 helper_->Uniform1i(location, x); | 1271 helper_->Uniform1i(location, x); |
| 1288 CheckGLError(); | 1272 CheckGLError(); |
| 1289 } | 1273 } |
| 1290 | 1274 |
| 1291 void GLES2Implementation::Uniform1iv(GLint location, | 1275 void GLES2Implementation::Uniform1iv(GLint location, |
| 1292 GLsizei count, | 1276 GLsizei count, |
| 1293 const GLint* v) { | 1277 const GLint* v) { |
| 1294 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1278 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1295 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform1iv(" << location << ", " | 1279 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform1iv(" << location << ", " |
| 1296 << count << ", " << static_cast<const void*>(v) | 1280 << count << ", " << static_cast<const void*>(v) << ")"); |
| 1297 << ")"); // NOLINT | |
| 1298 GPU_CLIENT_LOG_CODE_BLOCK({ | 1281 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 1299 for (GLsizei i = 0; i < count; ++i) { | 1282 for (GLsizei i = 0; i < count; ++i) { |
| 1300 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 1]); | 1283 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 1]); |
| 1301 } | 1284 } |
| 1302 }); | 1285 }); |
| 1303 if (count < 0) { | 1286 if (count < 0) { |
| 1304 SetGLError(GL_INVALID_VALUE, "glUniform1iv", "count < 0"); | 1287 SetGLError(GL_INVALID_VALUE, "glUniform1iv", "count < 0"); |
| 1305 return; | 1288 return; |
| 1306 } | 1289 } |
| 1307 helper_->Uniform1ivImmediate(location, count, v); | 1290 helper_->Uniform1ivImmediate(location, count, v); |
| 1308 CheckGLError(); | 1291 CheckGLError(); |
| 1309 } | 1292 } |
| 1310 | 1293 |
| 1311 void GLES2Implementation::Uniform2f(GLint location, GLfloat x, GLfloat y) { | 1294 void GLES2Implementation::Uniform2f(GLint location, GLfloat x, GLfloat y) { |
| 1312 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1295 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1313 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform2f(" << location << ", " | 1296 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform2f(" << location << ", " |
| 1314 << x << ", " << y << ")"); // NOLINT | 1297 << x << ", " << y << ")"); |
| 1315 helper_->Uniform2f(location, x, y); | 1298 helper_->Uniform2f(location, x, y); |
| 1316 CheckGLError(); | 1299 CheckGLError(); |
| 1317 } | 1300 } |
| 1318 | 1301 |
| 1319 void GLES2Implementation::Uniform2fv(GLint location, | 1302 void GLES2Implementation::Uniform2fv(GLint location, |
| 1320 GLsizei count, | 1303 GLsizei count, |
| 1321 const GLfloat* v) { | 1304 const GLfloat* v) { |
| 1322 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1305 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1323 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform2fv(" << location << ", " | 1306 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform2fv(" << location << ", " |
| 1324 << count << ", " << static_cast<const void*>(v) | 1307 << count << ", " << static_cast<const void*>(v) << ")"); |
| 1325 << ")"); // NOLINT | |
| 1326 GPU_CLIENT_LOG_CODE_BLOCK({ | 1308 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 1327 for (GLsizei i = 0; i < count; ++i) { | 1309 for (GLsizei i = 0; i < count; ++i) { |
| 1328 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 2] << ", " | 1310 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 2] << ", " << v[1 + i * 2]); |
| 1329 << v[1 + i * 2]); // NOLINT | |
| 1330 } | 1311 } |
| 1331 }); | 1312 }); |
| 1332 if (count < 0) { | 1313 if (count < 0) { |
| 1333 SetGLError(GL_INVALID_VALUE, "glUniform2fv", "count < 0"); | 1314 SetGLError(GL_INVALID_VALUE, "glUniform2fv", "count < 0"); |
| 1334 return; | 1315 return; |
| 1335 } | 1316 } |
| 1336 helper_->Uniform2fvImmediate(location, count, v); | 1317 helper_->Uniform2fvImmediate(location, count, v); |
| 1337 CheckGLError(); | 1318 CheckGLError(); |
| 1338 } | 1319 } |
| 1339 | 1320 |
| 1340 void GLES2Implementation::Uniform2i(GLint location, GLint x, GLint y) { | 1321 void GLES2Implementation::Uniform2i(GLint location, GLint x, GLint y) { |
| 1341 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1322 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1342 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform2i(" << location << ", " | 1323 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform2i(" << location << ", " |
| 1343 << x << ", " << y << ")"); // NOLINT | 1324 << x << ", " << y << ")"); |
| 1344 helper_->Uniform2i(location, x, y); | 1325 helper_->Uniform2i(location, x, y); |
| 1345 CheckGLError(); | 1326 CheckGLError(); |
| 1346 } | 1327 } |
| 1347 | 1328 |
| 1348 void GLES2Implementation::Uniform2iv(GLint location, | 1329 void GLES2Implementation::Uniform2iv(GLint location, |
| 1349 GLsizei count, | 1330 GLsizei count, |
| 1350 const GLint* v) { | 1331 const GLint* v) { |
| 1351 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1332 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1352 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform2iv(" << location << ", " | 1333 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform2iv(" << location << ", " |
| 1353 << count << ", " << static_cast<const void*>(v) | 1334 << count << ", " << static_cast<const void*>(v) << ")"); |
| 1354 << ")"); // NOLINT | |
| 1355 GPU_CLIENT_LOG_CODE_BLOCK({ | 1335 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 1356 for (GLsizei i = 0; i < count; ++i) { | 1336 for (GLsizei i = 0; i < count; ++i) { |
| 1357 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 2] << ", " | 1337 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 2] << ", " << v[1 + i * 2]); |
| 1358 << v[1 + i * 2]); // NOLINT | |
| 1359 } | 1338 } |
| 1360 }); | 1339 }); |
| 1361 if (count < 0) { | 1340 if (count < 0) { |
| 1362 SetGLError(GL_INVALID_VALUE, "glUniform2iv", "count < 0"); | 1341 SetGLError(GL_INVALID_VALUE, "glUniform2iv", "count < 0"); |
| 1363 return; | 1342 return; |
| 1364 } | 1343 } |
| 1365 helper_->Uniform2ivImmediate(location, count, v); | 1344 helper_->Uniform2ivImmediate(location, count, v); |
| 1366 CheckGLError(); | 1345 CheckGLError(); |
| 1367 } | 1346 } |
| 1368 | 1347 |
| 1369 void GLES2Implementation::Uniform3f(GLint location, | 1348 void GLES2Implementation::Uniform3f(GLint location, |
| 1370 GLfloat x, | 1349 GLfloat x, |
| 1371 GLfloat y, | 1350 GLfloat y, |
| 1372 GLfloat z) { | 1351 GLfloat z) { |
| 1373 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1352 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1374 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform3f(" << location << ", " | 1353 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform3f(" << location << ", " |
| 1375 << x << ", " << y << ", " << z << ")"); // NOLINT | 1354 << x << ", " << y << ", " << z << ")"); |
| 1376 helper_->Uniform3f(location, x, y, z); | 1355 helper_->Uniform3f(location, x, y, z); |
| 1377 CheckGLError(); | 1356 CheckGLError(); |
| 1378 } | 1357 } |
| 1379 | 1358 |
| 1380 void GLES2Implementation::Uniform3fv(GLint location, | 1359 void GLES2Implementation::Uniform3fv(GLint location, |
| 1381 GLsizei count, | 1360 GLsizei count, |
| 1382 const GLfloat* v) { | 1361 const GLfloat* v) { |
| 1383 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1362 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1384 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform3fv(" << location << ", " | 1363 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform3fv(" << location << ", " |
| 1385 << count << ", " << static_cast<const void*>(v) | 1364 << count << ", " << static_cast<const void*>(v) << ")"); |
| 1386 << ")"); // NOLINT | |
| 1387 GPU_CLIENT_LOG_CODE_BLOCK({ | 1365 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 1388 for (GLsizei i = 0; i < count; ++i) { | 1366 for (GLsizei i = 0; i < count; ++i) { |
| 1389 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 3] << ", " << v[1 + i * 3] | 1367 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 3] << ", " << v[1 + i * 3] |
| 1390 << ", " << v[2 + i * 3]); // NOLINT | 1368 << ", " << v[2 + i * 3]); |
| 1391 } | 1369 } |
| 1392 }); | 1370 }); |
| 1393 if (count < 0) { | 1371 if (count < 0) { |
| 1394 SetGLError(GL_INVALID_VALUE, "glUniform3fv", "count < 0"); | 1372 SetGLError(GL_INVALID_VALUE, "glUniform3fv", "count < 0"); |
| 1395 return; | 1373 return; |
| 1396 } | 1374 } |
| 1397 helper_->Uniform3fvImmediate(location, count, v); | 1375 helper_->Uniform3fvImmediate(location, count, v); |
| 1398 CheckGLError(); | 1376 CheckGLError(); |
| 1399 } | 1377 } |
| 1400 | 1378 |
| 1401 void GLES2Implementation::Uniform3i(GLint location, GLint x, GLint y, GLint z) { | 1379 void GLES2Implementation::Uniform3i(GLint location, GLint x, GLint y, GLint z) { |
| 1402 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1380 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1403 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform3i(" << location << ", " | 1381 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform3i(" << location << ", " |
| 1404 << x << ", " << y << ", " << z << ")"); // NOLINT | 1382 << x << ", " << y << ", " << z << ")"); |
| 1405 helper_->Uniform3i(location, x, y, z); | 1383 helper_->Uniform3i(location, x, y, z); |
| 1406 CheckGLError(); | 1384 CheckGLError(); |
| 1407 } | 1385 } |
| 1408 | 1386 |
| 1409 void GLES2Implementation::Uniform3iv(GLint location, | 1387 void GLES2Implementation::Uniform3iv(GLint location, |
| 1410 GLsizei count, | 1388 GLsizei count, |
| 1411 const GLint* v) { | 1389 const GLint* v) { |
| 1412 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1390 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1413 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform3iv(" << location << ", " | 1391 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform3iv(" << location << ", " |
| 1414 << count << ", " << static_cast<const void*>(v) | 1392 << count << ", " << static_cast<const void*>(v) << ")"); |
| 1415 << ")"); // NOLINT | |
| 1416 GPU_CLIENT_LOG_CODE_BLOCK({ | 1393 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 1417 for (GLsizei i = 0; i < count; ++i) { | 1394 for (GLsizei i = 0; i < count; ++i) { |
| 1418 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 3] << ", " << v[1 + i * 3] | 1395 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 3] << ", " << v[1 + i * 3] |
| 1419 << ", " << v[2 + i * 3]); // NOLINT | 1396 << ", " << v[2 + i * 3]); |
| 1420 } | 1397 } |
| 1421 }); | 1398 }); |
| 1422 if (count < 0) { | 1399 if (count < 0) { |
| 1423 SetGLError(GL_INVALID_VALUE, "glUniform3iv", "count < 0"); | 1400 SetGLError(GL_INVALID_VALUE, "glUniform3iv", "count < 0"); |
| 1424 return; | 1401 return; |
| 1425 } | 1402 } |
| 1426 helper_->Uniform3ivImmediate(location, count, v); | 1403 helper_->Uniform3ivImmediate(location, count, v); |
| 1427 CheckGLError(); | 1404 CheckGLError(); |
| 1428 } | 1405 } |
| 1429 | 1406 |
| 1430 void GLES2Implementation::Uniform4f(GLint location, | 1407 void GLES2Implementation::Uniform4f(GLint location, |
| 1431 GLfloat x, | 1408 GLfloat x, |
| 1432 GLfloat y, | 1409 GLfloat y, |
| 1433 GLfloat z, | 1410 GLfloat z, |
| 1434 GLfloat w) { | 1411 GLfloat w) { |
| 1435 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1412 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1436 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform4f(" << location << ", " | 1413 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform4f(" << location << ", " |
| 1437 << x << ", " << y << ", " << z << ", " << w | 1414 << x << ", " << y << ", " << z << ", " << w << ")"); |
| 1438 << ")"); // NOLINT | |
| 1439 helper_->Uniform4f(location, x, y, z, w); | 1415 helper_->Uniform4f(location, x, y, z, w); |
| 1440 CheckGLError(); | 1416 CheckGLError(); |
| 1441 } | 1417 } |
| 1442 | 1418 |
| 1443 void GLES2Implementation::Uniform4fv(GLint location, | 1419 void GLES2Implementation::Uniform4fv(GLint location, |
| 1444 GLsizei count, | 1420 GLsizei count, |
| 1445 const GLfloat* v) { | 1421 const GLfloat* v) { |
| 1446 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1422 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1447 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform4fv(" << location << ", " | 1423 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform4fv(" << location << ", " |
| 1448 << count << ", " << static_cast<const void*>(v) | 1424 << count << ", " << static_cast<const void*>(v) << ")"); |
| 1449 << ")"); // NOLINT | |
| 1450 GPU_CLIENT_LOG_CODE_BLOCK({ | 1425 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 1451 for (GLsizei i = 0; i < count; ++i) { | 1426 for (GLsizei i = 0; i < count; ++i) { |
| 1452 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 4] << ", " << v[1 + i * 4] | 1427 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 4] << ", " << v[1 + i * 4] |
| 1453 << ", " << v[2 + i * 4] << ", " | 1428 << ", " << v[2 + i * 4] << ", " << v[3 + i * 4]); |
| 1454 << v[3 + i * 4]); // NOLINT | |
| 1455 } | 1429 } |
| 1456 }); | 1430 }); |
| 1457 if (count < 0) { | 1431 if (count < 0) { |
| 1458 SetGLError(GL_INVALID_VALUE, "glUniform4fv", "count < 0"); | 1432 SetGLError(GL_INVALID_VALUE, "glUniform4fv", "count < 0"); |
| 1459 return; | 1433 return; |
| 1460 } | 1434 } |
| 1461 helper_->Uniform4fvImmediate(location, count, v); | 1435 helper_->Uniform4fvImmediate(location, count, v); |
| 1462 CheckGLError(); | 1436 CheckGLError(); |
| 1463 } | 1437 } |
| 1464 | 1438 |
| 1465 void GLES2Implementation::Uniform4i(GLint location, | 1439 void GLES2Implementation::Uniform4i(GLint location, |
| 1466 GLint x, | 1440 GLint x, |
| 1467 GLint y, | 1441 GLint y, |
| 1468 GLint z, | 1442 GLint z, |
| 1469 GLint w) { | 1443 GLint w) { |
| 1470 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1444 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1471 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform4i(" << location << ", " | 1445 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform4i(" << location << ", " |
| 1472 << x << ", " << y << ", " << z << ", " << w | 1446 << x << ", " << y << ", " << z << ", " << w << ")"); |
| 1473 << ")"); // NOLINT | |
| 1474 helper_->Uniform4i(location, x, y, z, w); | 1447 helper_->Uniform4i(location, x, y, z, w); |
| 1475 CheckGLError(); | 1448 CheckGLError(); |
| 1476 } | 1449 } |
| 1477 | 1450 |
| 1478 void GLES2Implementation::Uniform4iv(GLint location, | 1451 void GLES2Implementation::Uniform4iv(GLint location, |
| 1479 GLsizei count, | 1452 GLsizei count, |
| 1480 const GLint* v) { | 1453 const GLint* v) { |
| 1481 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1454 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1482 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform4iv(" << location << ", " | 1455 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniform4iv(" << location << ", " |
| 1483 << count << ", " << static_cast<const void*>(v) | 1456 << count << ", " << static_cast<const void*>(v) << ")"); |
| 1484 << ")"); // NOLINT | |
| 1485 GPU_CLIENT_LOG_CODE_BLOCK({ | 1457 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 1486 for (GLsizei i = 0; i < count; ++i) { | 1458 for (GLsizei i = 0; i < count; ++i) { |
| 1487 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 4] << ", " << v[1 + i * 4] | 1459 GPU_CLIENT_LOG(" " << i << ": " << v[0 + i * 4] << ", " << v[1 + i * 4] |
| 1488 << ", " << v[2 + i * 4] << ", " | 1460 << ", " << v[2 + i * 4] << ", " << v[3 + i * 4]); |
| 1489 << v[3 + i * 4]); // NOLINT | |
| 1490 } | 1461 } |
| 1491 }); | 1462 }); |
| 1492 if (count < 0) { | 1463 if (count < 0) { |
| 1493 SetGLError(GL_INVALID_VALUE, "glUniform4iv", "count < 0"); | 1464 SetGLError(GL_INVALID_VALUE, "glUniform4iv", "count < 0"); |
| 1494 return; | 1465 return; |
| 1495 } | 1466 } |
| 1496 helper_->Uniform4ivImmediate(location, count, v); | 1467 helper_->Uniform4ivImmediate(location, count, v); |
| 1497 CheckGLError(); | 1468 CheckGLError(); |
| 1498 } | 1469 } |
| 1499 | 1470 |
| 1500 void GLES2Implementation::UniformMatrix2fv(GLint location, | 1471 void GLES2Implementation::UniformMatrix2fv(GLint location, |
| 1501 GLsizei count, | 1472 GLsizei count, |
| 1502 GLboolean transpose, | 1473 GLboolean transpose, |
| 1503 const GLfloat* value) { | 1474 const GLfloat* value) { |
| 1504 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1475 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1505 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniformMatrix2fv(" << location | 1476 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniformMatrix2fv(" << location |
| 1506 << ", " << count << ", " | 1477 << ", " << count << ", " |
| 1507 << GLES2Util::GetStringBool(transpose) << ", " | 1478 << GLES2Util::GetStringBool(transpose) << ", " |
| 1508 << static_cast<const void*>(value) << ")"); // NOLINT | 1479 << static_cast<const void*>(value) << ")"); |
| 1509 GPU_CLIENT_LOG_CODE_BLOCK({ | 1480 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 1510 for (GLsizei i = 0; i < count; ++i) { | 1481 for (GLsizei i = 0; i < count; ++i) { |
| 1511 GPU_CLIENT_LOG(" " << i << ": " << value[0 + i * 4] << ", " | 1482 GPU_CLIENT_LOG(" " << i << ": " << value[0 + i * 4] << ", " |
| 1512 << value[1 + i * 4] << ", " << value[2 + i * 4] | 1483 << value[1 + i * 4] << ", " << value[2 + i * 4] |
| 1513 << ", " << value[3 + i * 4]); // NOLINT | 1484 << ", " << value[3 + i * 4]); |
| 1514 } | 1485 } |
| 1515 }); | 1486 }); |
| 1516 if (count < 0) { | 1487 if (count < 0) { |
| 1517 SetGLError(GL_INVALID_VALUE, "glUniformMatrix2fv", "count < 0"); | 1488 SetGLError(GL_INVALID_VALUE, "glUniformMatrix2fv", "count < 0"); |
| 1518 return; | 1489 return; |
| 1519 } | 1490 } |
| 1520 helper_->UniformMatrix2fvImmediate(location, count, transpose, value); | 1491 helper_->UniformMatrix2fvImmediate(location, count, transpose, value); |
| 1521 CheckGLError(); | 1492 CheckGLError(); |
| 1522 } | 1493 } |
| 1523 | 1494 |
| 1524 void GLES2Implementation::UniformMatrix3fv(GLint location, | 1495 void GLES2Implementation::UniformMatrix3fv(GLint location, |
| 1525 GLsizei count, | 1496 GLsizei count, |
| 1526 GLboolean transpose, | 1497 GLboolean transpose, |
| 1527 const GLfloat* value) { | 1498 const GLfloat* value) { |
| 1528 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1499 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1529 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniformMatrix3fv(" << location | 1500 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniformMatrix3fv(" << location |
| 1530 << ", " << count << ", " | 1501 << ", " << count << ", " |
| 1531 << GLES2Util::GetStringBool(transpose) << ", " | 1502 << GLES2Util::GetStringBool(transpose) << ", " |
| 1532 << static_cast<const void*>(value) << ")"); // NOLINT | 1503 << static_cast<const void*>(value) << ")"); |
| 1533 GPU_CLIENT_LOG_CODE_BLOCK({ | 1504 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 1534 for (GLsizei i = 0; i < count; ++i) { | 1505 for (GLsizei i = 0; i < count; ++i) { |
| 1535 GPU_CLIENT_LOG( | 1506 GPU_CLIENT_LOG(" " << i << ": " << value[0 + i * 9] << ", " |
| 1536 " " << i << ": " << value[0 + i * 9] << ", " << value[1 + i * 9] | 1507 << value[1 + i * 9] << ", " << value[2 + i * 9] |
| 1537 << ", " << value[2 + i * 9] << ", " << value[3 + i * 9] << ", " | 1508 << ", " << value[3 + i * 9] << ", " |
| 1538 << value[4 + i * 9] << ", " << value[5 + i * 9] << ", " | 1509 << value[4 + i * 9] << ", " << value[5 + i * 9] |
| 1539 << value[6 + i * 9] << ", " << value[7 + i * 9] << ", " | 1510 << ", " << value[6 + i * 9] << ", " |
| 1540 << value[8 + i * 9]); // NOLINT | 1511 << value[7 + i * 9] << ", " << value[8 + i * 9]); |
| 1541 } | 1512 } |
| 1542 }); | 1513 }); |
| 1543 if (count < 0) { | 1514 if (count < 0) { |
| 1544 SetGLError(GL_INVALID_VALUE, "glUniformMatrix3fv", "count < 0"); | 1515 SetGLError(GL_INVALID_VALUE, "glUniformMatrix3fv", "count < 0"); |
| 1545 return; | 1516 return; |
| 1546 } | 1517 } |
| 1547 helper_->UniformMatrix3fvImmediate(location, count, transpose, value); | 1518 helper_->UniformMatrix3fvImmediate(location, count, transpose, value); |
| 1548 CheckGLError(); | 1519 CheckGLError(); |
| 1549 } | 1520 } |
| 1550 | 1521 |
| 1551 void GLES2Implementation::UniformMatrix4fv(GLint location, | 1522 void GLES2Implementation::UniformMatrix4fv(GLint location, |
| 1552 GLsizei count, | 1523 GLsizei count, |
| 1553 GLboolean transpose, | 1524 GLboolean transpose, |
| 1554 const GLfloat* value) { | 1525 const GLfloat* value) { |
| 1555 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1526 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1556 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniformMatrix4fv(" << location | 1527 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glUniformMatrix4fv(" << location |
| 1557 << ", " << count << ", " | 1528 << ", " << count << ", " |
| 1558 << GLES2Util::GetStringBool(transpose) << ", " | 1529 << GLES2Util::GetStringBool(transpose) << ", " |
| 1559 << static_cast<const void*>(value) << ")"); // NOLINT | 1530 << static_cast<const void*>(value) << ")"); |
| 1560 GPU_CLIENT_LOG_CODE_BLOCK({ | 1531 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 1561 for (GLsizei i = 0; i < count; ++i) { | 1532 for (GLsizei i = 0; i < count; ++i) { |
| 1562 GPU_CLIENT_LOG( | 1533 GPU_CLIENT_LOG( |
| 1563 " " << i << ": " << value[0 + i * 16] << ", " << value[1 + i * 16] | 1534 " " << i << ": " << value[0 + i * 16] << ", " << value[1 + i * 16] |
| 1564 << ", " << value[2 + i * 16] << ", " << value[3 + i * 16] << ", " | 1535 << ", " << value[2 + i * 16] << ", " << value[3 + i * 16] << ", " |
| 1565 << value[4 + i * 16] << ", " << value[5 + i * 16] << ", " | 1536 << value[4 + i * 16] << ", " << value[5 + i * 16] << ", " |
| 1566 << value[6 + i * 16] << ", " << value[7 + i * 16] << ", " | 1537 << value[6 + i * 16] << ", " << value[7 + i * 16] << ", " |
| 1567 << value[8 + i * 16] << ", " << value[9 + i * 16] << ", " | 1538 << value[8 + i * 16] << ", " << value[9 + i * 16] << ", " |
| 1568 << value[10 + i * 16] << ", " << value[11 + i * 16] << ", " | 1539 << value[10 + i * 16] << ", " << value[11 + i * 16] << ", " |
| 1569 << value[12 + i * 16] << ", " << value[13 + i * 16] << ", " | 1540 << value[12 + i * 16] << ", " << value[13 + i * 16] << ", " |
| 1570 << value[14 + i * 16] << ", " << value[15 + i * 16]); // NOLINT | 1541 << value[14 + i * 16] << ", " << value[15 + i * 16]); |
| 1571 } | 1542 } |
| 1572 }); | 1543 }); |
| 1573 if (count < 0) { | 1544 if (count < 0) { |
| 1574 SetGLError(GL_INVALID_VALUE, "glUniformMatrix4fv", "count < 0"); | 1545 SetGLError(GL_INVALID_VALUE, "glUniformMatrix4fv", "count < 0"); |
| 1575 return; | 1546 return; |
| 1576 } | 1547 } |
| 1577 helper_->UniformMatrix4fvImmediate(location, count, transpose, value); | 1548 helper_->UniformMatrix4fvImmediate(location, count, transpose, value); |
| 1578 CheckGLError(); | 1549 CheckGLError(); |
| 1579 } | 1550 } |
| 1580 | 1551 |
| 1581 void GLES2Implementation::ValidateProgram(GLuint program) { | 1552 void GLES2Implementation::ValidateProgram(GLuint program) { |
| 1582 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1553 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1583 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glValidateProgram(" << program | 1554 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glValidateProgram(" << program |
| 1584 << ")"); // NOLINT | 1555 << ")"); |
| 1585 helper_->ValidateProgram(program); | 1556 helper_->ValidateProgram(program); |
| 1586 CheckGLError(); | 1557 CheckGLError(); |
| 1587 } | 1558 } |
| 1588 | 1559 |
| 1589 void GLES2Implementation::VertexAttrib1f(GLuint indx, GLfloat x) { | 1560 void GLES2Implementation::VertexAttrib1f(GLuint indx, GLfloat x) { |
| 1590 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1561 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1591 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib1f(" << indx << ", " | 1562 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib1f(" << indx << ", " |
| 1592 << x << ")"); // NOLINT | 1563 << x << ")"); |
| 1593 helper_->VertexAttrib1f(indx, x); | 1564 helper_->VertexAttrib1f(indx, x); |
| 1594 CheckGLError(); | 1565 CheckGLError(); |
| 1595 } | 1566 } |
| 1596 | 1567 |
| 1597 void GLES2Implementation::VertexAttrib1fv(GLuint indx, const GLfloat* values) { | 1568 void GLES2Implementation::VertexAttrib1fv(GLuint indx, const GLfloat* values) { |
| 1598 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1569 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1599 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib1fv(" << indx << ", " | 1570 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib1fv(" << indx << ", " |
| 1600 << static_cast<const void*>(values) << ")"); // NOLINT | 1571 << static_cast<const void*>(values) << ")"); |
| 1601 GPU_CLIENT_LOG("values: " << values[0]); | 1572 GPU_CLIENT_LOG("values: " << values[0]); |
| 1602 helper_->VertexAttrib1fvImmediate(indx, values); | 1573 helper_->VertexAttrib1fvImmediate(indx, values); |
| 1603 CheckGLError(); | 1574 CheckGLError(); |
| 1604 } | 1575 } |
| 1605 | 1576 |
| 1606 void GLES2Implementation::VertexAttrib2f(GLuint indx, GLfloat x, GLfloat y) { | 1577 void GLES2Implementation::VertexAttrib2f(GLuint indx, GLfloat x, GLfloat y) { |
| 1607 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1578 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1608 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib2f(" << indx << ", " | 1579 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib2f(" << indx << ", " |
| 1609 << x << ", " << y << ")"); // NOLINT | 1580 << x << ", " << y << ")"); |
| 1610 helper_->VertexAttrib2f(indx, x, y); | 1581 helper_->VertexAttrib2f(indx, x, y); |
| 1611 CheckGLError(); | 1582 CheckGLError(); |
| 1612 } | 1583 } |
| 1613 | 1584 |
| 1614 void GLES2Implementation::VertexAttrib2fv(GLuint indx, const GLfloat* values) { | 1585 void GLES2Implementation::VertexAttrib2fv(GLuint indx, const GLfloat* values) { |
| 1615 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1586 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1616 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib2fv(" << indx << ", " | 1587 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib2fv(" << indx << ", " |
| 1617 << static_cast<const void*>(values) << ")"); // NOLINT | 1588 << static_cast<const void*>(values) << ")"); |
| 1618 GPU_CLIENT_LOG("values: " << values[0] << ", " << values[1]); | 1589 GPU_CLIENT_LOG("values: " << values[0] << ", " << values[1]); |
| 1619 helper_->VertexAttrib2fvImmediate(indx, values); | 1590 helper_->VertexAttrib2fvImmediate(indx, values); |
| 1620 CheckGLError(); | 1591 CheckGLError(); |
| 1621 } | 1592 } |
| 1622 | 1593 |
| 1623 void GLES2Implementation::VertexAttrib3f(GLuint indx, | 1594 void GLES2Implementation::VertexAttrib3f(GLuint indx, |
| 1624 GLfloat x, | 1595 GLfloat x, |
| 1625 GLfloat y, | 1596 GLfloat y, |
| 1626 GLfloat z) { | 1597 GLfloat z) { |
| 1627 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1598 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1628 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib3f(" << indx << ", " | 1599 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib3f(" << indx << ", " |
| 1629 << x << ", " << y << ", " << z << ")"); // NOLINT | 1600 << x << ", " << y << ", " << z << ")"); |
| 1630 helper_->VertexAttrib3f(indx, x, y, z); | 1601 helper_->VertexAttrib3f(indx, x, y, z); |
| 1631 CheckGLError(); | 1602 CheckGLError(); |
| 1632 } | 1603 } |
| 1633 | 1604 |
| 1634 void GLES2Implementation::VertexAttrib3fv(GLuint indx, const GLfloat* values) { | 1605 void GLES2Implementation::VertexAttrib3fv(GLuint indx, const GLfloat* values) { |
| 1635 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1606 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1636 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib3fv(" << indx << ", " | 1607 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib3fv(" << indx << ", " |
| 1637 << static_cast<const void*>(values) << ")"); // NOLINT | 1608 << static_cast<const void*>(values) << ")"); |
| 1638 GPU_CLIENT_LOG("values: " << values[0] << ", " << values[1] << ", " | 1609 GPU_CLIENT_LOG("values: " << values[0] << ", " << values[1] << ", " |
| 1639 << values[2]); // NOLINT | 1610 << values[2]); |
| 1640 helper_->VertexAttrib3fvImmediate(indx, values); | 1611 helper_->VertexAttrib3fvImmediate(indx, values); |
| 1641 CheckGLError(); | 1612 CheckGLError(); |
| 1642 } | 1613 } |
| 1643 | 1614 |
| 1644 void GLES2Implementation::VertexAttrib4f(GLuint indx, | 1615 void GLES2Implementation::VertexAttrib4f(GLuint indx, |
| 1645 GLfloat x, | 1616 GLfloat x, |
| 1646 GLfloat y, | 1617 GLfloat y, |
| 1647 GLfloat z, | 1618 GLfloat z, |
| 1648 GLfloat w) { | 1619 GLfloat w) { |
| 1649 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1620 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1650 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib4f(" << indx << ", " | 1621 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib4f(" << indx << ", " |
| 1651 << x << ", " << y << ", " << z << ", " << w | 1622 << x << ", " << y << ", " << z << ", " << w << ")"); |
| 1652 << ")"); // NOLINT | |
| 1653 helper_->VertexAttrib4f(indx, x, y, z, w); | 1623 helper_->VertexAttrib4f(indx, x, y, z, w); |
| 1654 CheckGLError(); | 1624 CheckGLError(); |
| 1655 } | 1625 } |
| 1656 | 1626 |
| 1657 void GLES2Implementation::VertexAttrib4fv(GLuint indx, const GLfloat* values) { | 1627 void GLES2Implementation::VertexAttrib4fv(GLuint indx, const GLfloat* values) { |
| 1658 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1628 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1659 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib4fv(" << indx << ", " | 1629 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glVertexAttrib4fv(" << indx << ", " |
| 1660 << static_cast<const void*>(values) << ")"); // NOLINT | 1630 << static_cast<const void*>(values) << ")"); |
| 1661 GPU_CLIENT_LOG("values: " << values[0] << ", " << values[1] << ", " | 1631 GPU_CLIENT_LOG("values: " << values[0] << ", " << values[1] << ", " |
| 1662 << values[2] << ", " << values[3]); // NOLINT | 1632 << values[2] << ", " << values[3]); |
| 1663 helper_->VertexAttrib4fvImmediate(indx, values); | 1633 helper_->VertexAttrib4fvImmediate(indx, values); |
| 1664 CheckGLError(); | 1634 CheckGLError(); |
| 1665 } | 1635 } |
| 1666 | 1636 |
| 1667 void GLES2Implementation::Viewport(GLint x, | 1637 void GLES2Implementation::Viewport(GLint x, |
| 1668 GLint y, | 1638 GLint y, |
| 1669 GLsizei width, | 1639 GLsizei width, |
| 1670 GLsizei height) { | 1640 GLsizei height) { |
| 1671 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1641 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1672 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glViewport(" << x << ", " << y | 1642 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glViewport(" << x << ", " << y |
| 1673 << ", " << width << ", " << height << ")"); // NOLINT | 1643 << ", " << width << ", " << height << ")"); |
| 1674 if (width < 0) { | 1644 if (width < 0) { |
| 1675 SetGLError(GL_INVALID_VALUE, "glViewport", "width < 0"); | 1645 SetGLError(GL_INVALID_VALUE, "glViewport", "width < 0"); |
| 1676 return; | 1646 return; |
| 1677 } | 1647 } |
| 1678 if (height < 0) { | 1648 if (height < 0) { |
| 1679 SetGLError(GL_INVALID_VALUE, "glViewport", "height < 0"); | 1649 SetGLError(GL_INVALID_VALUE, "glViewport", "height < 0"); |
| 1680 return; | 1650 return; |
| 1681 } | 1651 } |
| 1682 helper_->Viewport(x, y, width, height); | 1652 helper_->Viewport(x, y, width, height); |
| 1683 CheckGLError(); | 1653 CheckGLError(); |
| 1684 } | 1654 } |
| 1685 | 1655 |
| 1686 void GLES2Implementation::BlitFramebufferCHROMIUM(GLint srcX0, | 1656 void GLES2Implementation::BlitFramebufferCHROMIUM(GLint srcX0, |
| 1687 GLint srcY0, | 1657 GLint srcY0, |
| 1688 GLint srcX1, | 1658 GLint srcX1, |
| 1689 GLint srcY1, | 1659 GLint srcY1, |
| 1690 GLint dstX0, | 1660 GLint dstX0, |
| 1691 GLint dstY0, | 1661 GLint dstY0, |
| 1692 GLint dstX1, | 1662 GLint dstX1, |
| 1693 GLint dstY1, | 1663 GLint dstY1, |
| 1694 GLbitfield mask, | 1664 GLbitfield mask, |
| 1695 GLenum filter) { | 1665 GLenum filter) { |
| 1696 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1666 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1697 GPU_CLIENT_LOG( | 1667 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBlitFramebufferCHROMIUM(" |
| 1698 "[" << GetLogPrefix() << "] glBlitFramebufferCHROMIUM(" << srcX0 << ", " | 1668 << srcX0 << ", " << srcY0 << ", " << srcX1 << ", " << srcY1 |
| 1699 << srcY0 << ", " << srcX1 << ", " << srcY1 << ", " << dstX0 << ", " | 1669 << ", " << dstX0 << ", " << dstY0 << ", " << dstX1 << ", " |
| 1700 << dstY0 << ", " << dstX1 << ", " << dstY1 << ", " << mask << ", " | 1670 << dstY1 << ", " << mask << ", " |
| 1701 << GLES2Util::GetStringBlitFilter(filter) << ")"); // NOLINT | 1671 << GLES2Util::GetStringBlitFilter(filter) << ")"); |
| 1702 helper_->BlitFramebufferCHROMIUM( | 1672 helper_->BlitFramebufferCHROMIUM( |
| 1703 srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); | 1673 srcX0, srcY0, srcX1, srcY1, dstX0, dstY0, dstX1, dstY1, mask, filter); |
| 1704 CheckGLError(); | 1674 CheckGLError(); |
| 1705 } | 1675 } |
| 1706 | 1676 |
| 1707 void GLES2Implementation::RenderbufferStorageMultisampleCHROMIUM( | 1677 void GLES2Implementation::RenderbufferStorageMultisampleCHROMIUM( |
| 1708 GLenum target, | 1678 GLenum target, |
| 1709 GLsizei samples, | 1679 GLsizei samples, |
| 1710 GLenum internalformat, | 1680 GLenum internalformat, |
| 1711 GLsizei width, | 1681 GLsizei width, |
| 1712 GLsizei height) { | 1682 GLsizei height) { |
| 1713 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1683 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1714 GPU_CLIENT_LOG( | 1684 GPU_CLIENT_LOG( |
| 1715 "[" << GetLogPrefix() << "] glRenderbufferStorageMultisampleCHROMIUM(" | 1685 "[" << GetLogPrefix() << "] glRenderbufferStorageMultisampleCHROMIUM(" |
| 1716 << GLES2Util::GetStringRenderBufferTarget(target) << ", " << samples | 1686 << GLES2Util::GetStringRenderBufferTarget(target) << ", " << samples |
| 1717 << ", " << GLES2Util::GetStringRenderBufferFormat(internalformat) | 1687 << ", " << GLES2Util::GetStringRenderBufferFormat(internalformat) |
| 1718 << ", " << width << ", " << height << ")"); // NOLINT | 1688 << ", " << width << ", " << height << ")"); |
| 1719 if (samples < 0) { | 1689 if (samples < 0) { |
| 1720 SetGLError(GL_INVALID_VALUE, | 1690 SetGLError(GL_INVALID_VALUE, |
| 1721 "glRenderbufferStorageMultisampleCHROMIUM", | 1691 "glRenderbufferStorageMultisampleCHROMIUM", |
| 1722 "samples < 0"); // NOLINT | 1692 "samples < 0"); |
| 1723 return; | 1693 return; |
| 1724 } | 1694 } |
| 1725 if (width < 0) { | 1695 if (width < 0) { |
| 1726 SetGLError(GL_INVALID_VALUE, | 1696 SetGLError(GL_INVALID_VALUE, |
| 1727 "glRenderbufferStorageMultisampleCHROMIUM", | 1697 "glRenderbufferStorageMultisampleCHROMIUM", |
| 1728 "width < 0"); // NOLINT | 1698 "width < 0"); |
| 1729 return; | 1699 return; |
| 1730 } | 1700 } |
| 1731 if (height < 0) { | 1701 if (height < 0) { |
| 1732 SetGLError(GL_INVALID_VALUE, | 1702 SetGLError(GL_INVALID_VALUE, |
| 1733 "glRenderbufferStorageMultisampleCHROMIUM", | 1703 "glRenderbufferStorageMultisampleCHROMIUM", |
| 1734 "height < 0"); // NOLINT | 1704 "height < 0"); |
| 1735 return; | 1705 return; |
| 1736 } | 1706 } |
| 1737 helper_->RenderbufferStorageMultisampleCHROMIUM( | 1707 helper_->RenderbufferStorageMultisampleCHROMIUM( |
| 1738 target, samples, internalformat, width, height); | 1708 target, samples, internalformat, width, height); |
| 1739 CheckGLError(); | 1709 CheckGLError(); |
| 1740 } | 1710 } |
| 1741 | 1711 |
| 1742 void GLES2Implementation::RenderbufferStorageMultisampleEXT( | 1712 void GLES2Implementation::RenderbufferStorageMultisampleEXT( |
| 1743 GLenum target, | 1713 GLenum target, |
| 1744 GLsizei samples, | 1714 GLsizei samples, |
| 1745 GLenum internalformat, | 1715 GLenum internalformat, |
| 1746 GLsizei width, | 1716 GLsizei width, |
| 1747 GLsizei height) { | 1717 GLsizei height) { |
| 1748 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1718 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1749 GPU_CLIENT_LOG( | 1719 GPU_CLIENT_LOG( |
| 1750 "[" << GetLogPrefix() << "] glRenderbufferStorageMultisampleEXT(" | 1720 "[" << GetLogPrefix() << "] glRenderbufferStorageMultisampleEXT(" |
| 1751 << GLES2Util::GetStringRenderBufferTarget(target) << ", " << samples | 1721 << GLES2Util::GetStringRenderBufferTarget(target) << ", " << samples |
| 1752 << ", " << GLES2Util::GetStringRenderBufferFormat(internalformat) | 1722 << ", " << GLES2Util::GetStringRenderBufferFormat(internalformat) |
| 1753 << ", " << width << ", " << height << ")"); // NOLINT | 1723 << ", " << width << ", " << height << ")"); |
| 1754 if (samples < 0) { | 1724 if (samples < 0) { |
| 1755 SetGLError( | 1725 SetGLError( |
| 1756 GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT", "samples < 0"); | 1726 GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT", "samples < 0"); |
| 1757 return; | 1727 return; |
| 1758 } | 1728 } |
| 1759 if (width < 0) { | 1729 if (width < 0) { |
| 1760 SetGLError( | 1730 SetGLError( |
| 1761 GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT", "width < 0"); | 1731 GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT", "width < 0"); |
| 1762 return; | 1732 return; |
| 1763 } | 1733 } |
| 1764 if (height < 0) { | 1734 if (height < 0) { |
| 1765 SetGLError( | 1735 SetGLError( |
| 1766 GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT", "height < 0"); | 1736 GL_INVALID_VALUE, "glRenderbufferStorageMultisampleEXT", "height < 0"); |
| 1767 return; | 1737 return; |
| 1768 } | 1738 } |
| 1769 helper_->RenderbufferStorageMultisampleEXT( | 1739 helper_->RenderbufferStorageMultisampleEXT( |
| 1770 target, samples, internalformat, width, height); | 1740 target, samples, internalformat, width, height); |
| 1771 CheckGLError(); | 1741 CheckGLError(); |
| 1772 } | 1742 } |
| 1773 | 1743 |
| 1774 void GLES2Implementation::FramebufferTexture2DMultisampleEXT(GLenum target, | 1744 void GLES2Implementation::FramebufferTexture2DMultisampleEXT(GLenum target, |
| 1775 GLenum attachment, | 1745 GLenum attachment, |
| 1776 GLenum textarget, | 1746 GLenum textarget, |
| 1777 GLuint texture, | 1747 GLuint texture, |
| 1778 GLint level, | 1748 GLint level, |
| 1779 GLsizei samples) { | 1749 GLsizei samples) { |
| 1780 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1750 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1781 GPU_CLIENT_LOG( | 1751 GPU_CLIENT_LOG("[" << GetLogPrefix() |
| 1782 "[" << GetLogPrefix() << "] glFramebufferTexture2DMultisampleEXT(" | 1752 << "] glFramebufferTexture2DMultisampleEXT(" |
| 1783 << GLES2Util::GetStringFrameBufferTarget(target) << ", " | 1753 << GLES2Util::GetStringFrameBufferTarget(target) << ", " |
| 1784 << GLES2Util::GetStringAttachment(attachment) << ", " | 1754 << GLES2Util::GetStringAttachment(attachment) << ", " |
| 1785 << GLES2Util::GetStringTextureTarget(textarget) << ", " << texture | 1755 << GLES2Util::GetStringTextureTarget(textarget) << ", " |
| 1786 << ", " << level << ", " << samples << ")"); // NOLINT | 1756 << texture << ", " << level << ", " << samples << ")"); |
| 1787 if (samples < 0) { | 1757 if (samples < 0) { |
| 1788 SetGLError(GL_INVALID_VALUE, | 1758 SetGLError(GL_INVALID_VALUE, |
| 1789 "glFramebufferTexture2DMultisampleEXT", | 1759 "glFramebufferTexture2DMultisampleEXT", |
| 1790 "samples < 0"); // NOLINT | 1760 "samples < 0"); |
| 1791 return; | 1761 return; |
| 1792 } | 1762 } |
| 1793 helper_->FramebufferTexture2DMultisampleEXT( | 1763 helper_->FramebufferTexture2DMultisampleEXT( |
| 1794 target, attachment, textarget, texture, level, samples); | 1764 target, attachment, textarget, texture, level, samples); |
| 1795 CheckGLError(); | 1765 CheckGLError(); |
| 1796 } | 1766 } |
| 1797 | 1767 |
| 1798 void GLES2Implementation::TexStorage2DEXT(GLenum target, | 1768 void GLES2Implementation::TexStorage2DEXT(GLenum target, |
| 1799 GLsizei levels, | 1769 GLsizei levels, |
| 1800 GLenum internalFormat, | 1770 GLenum internalFormat, |
| 1801 GLsizei width, | 1771 GLsizei width, |
| 1802 GLsizei height) { | 1772 GLsizei height) { |
| 1803 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1773 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1804 GPU_CLIENT_LOG( | 1774 GPU_CLIENT_LOG( |
| 1805 "[" << GetLogPrefix() << "] glTexStorage2DEXT(" | 1775 "[" << GetLogPrefix() << "] glTexStorage2DEXT(" |
| 1806 << GLES2Util::GetStringTextureTarget(target) << ", " << levels << ", " | 1776 << GLES2Util::GetStringTextureTarget(target) << ", " << levels << ", " |
| 1807 << GLES2Util::GetStringTextureInternalFormatStorage(internalFormat) | 1777 << GLES2Util::GetStringTextureInternalFormatStorage(internalFormat) |
| 1808 << ", " << width << ", " << height << ")"); // NOLINT | 1778 << ", " << width << ", " << height << ")"); |
| 1809 if (levels < 0) { | 1779 if (levels < 0) { |
| 1810 SetGLError(GL_INVALID_VALUE, "glTexStorage2DEXT", "levels < 0"); | 1780 SetGLError(GL_INVALID_VALUE, "glTexStorage2DEXT", "levels < 0"); |
| 1811 return; | 1781 return; |
| 1812 } | 1782 } |
| 1813 if (width < 0) { | 1783 if (width < 0) { |
| 1814 SetGLError(GL_INVALID_VALUE, "glTexStorage2DEXT", "width < 0"); | 1784 SetGLError(GL_INVALID_VALUE, "glTexStorage2DEXT", "width < 0"); |
| 1815 return; | 1785 return; |
| 1816 } | 1786 } |
| 1817 if (height < 0) { | 1787 if (height < 0) { |
| 1818 SetGLError(GL_INVALID_VALUE, "glTexStorage2DEXT", "height < 0"); | 1788 SetGLError(GL_INVALID_VALUE, "glTexStorage2DEXT", "height < 0"); |
| 1819 return; | 1789 return; |
| 1820 } | 1790 } |
| 1821 helper_->TexStorage2DEXT(target, levels, internalFormat, width, height); | 1791 helper_->TexStorage2DEXT(target, levels, internalFormat, width, height); |
| 1822 CheckGLError(); | 1792 CheckGLError(); |
| 1823 } | 1793 } |
| 1824 | 1794 |
| 1825 void GLES2Implementation::GenQueriesEXT(GLsizei n, GLuint* queries) { | 1795 void GLES2Implementation::GenQueriesEXT(GLsizei n, GLuint* queries) { |
| 1826 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenQueriesEXT(" << n << ", " | 1796 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenQueriesEXT(" << n << ", " |
| 1827 << static_cast<const void*>(queries) << ")"); // NOLINT | 1797 << static_cast<const void*>(queries) << ")"); |
| 1828 if (n < 0) { | 1798 if (n < 0) { |
| 1829 SetGLError(GL_INVALID_VALUE, "glGenQueriesEXT", "n < 0"); | 1799 SetGLError(GL_INVALID_VALUE, "glGenQueriesEXT", "n < 0"); |
| 1830 return; | 1800 return; |
| 1831 } | 1801 } |
| 1832 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1802 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1833 GetIdHandler(id_namespaces::kQueries)->MakeIds(this, 0, n, queries); | 1803 GetIdHandler(id_namespaces::kQueries)->MakeIds(this, 0, n, queries); |
| 1834 GenQueriesEXTHelper(n, queries); | 1804 GenQueriesEXTHelper(n, queries); |
| 1835 helper_->GenQueriesEXTImmediate(n, queries); | 1805 helper_->GenQueriesEXTImmediate(n, queries); |
| 1836 if (share_group_->bind_generates_resource()) | 1806 if (share_group_->bind_generates_resource()) |
| 1837 helper_->CommandBufferHelper::Flush(); | 1807 helper_->CommandBufferHelper::Flush(); |
| 1838 GPU_CLIENT_LOG_CODE_BLOCK({ | 1808 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 1839 for (GLsizei i = 0; i < n; ++i) { | 1809 for (GLsizei i = 0; i < n; ++i) { |
| 1840 GPU_CLIENT_LOG(" " << i << ": " << queries[i]); | 1810 GPU_CLIENT_LOG(" " << i << ": " << queries[i]); |
| 1841 } | 1811 } |
| 1842 }); | 1812 }); |
| 1843 CheckGLError(); | 1813 CheckGLError(); |
| 1844 } | 1814 } |
| 1845 | 1815 |
| 1846 void GLES2Implementation::DeleteQueriesEXT(GLsizei n, const GLuint* queries) { | 1816 void GLES2Implementation::DeleteQueriesEXT(GLsizei n, const GLuint* queries) { |
| 1847 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1817 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1848 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteQueriesEXT(" << n << ", " | 1818 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteQueriesEXT(" << n << ", " |
| 1849 << static_cast<const void*>(queries) << ")"); // NOLINT | 1819 << static_cast<const void*>(queries) << ")"); |
| 1850 GPU_CLIENT_LOG_CODE_BLOCK({ | 1820 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 1851 for (GLsizei i = 0; i < n; ++i) { | 1821 for (GLsizei i = 0; i < n; ++i) { |
| 1852 GPU_CLIENT_LOG(" " << i << ": " << queries[i]); | 1822 GPU_CLIENT_LOG(" " << i << ": " << queries[i]); |
| 1853 } | 1823 } |
| 1854 }); | 1824 }); |
| 1855 GPU_CLIENT_DCHECK_CODE_BLOCK({ | 1825 GPU_CLIENT_DCHECK_CODE_BLOCK({ |
| 1856 for (GLsizei i = 0; i < n; ++i) { | 1826 for (GLsizei i = 0; i < n; ++i) { |
| 1857 DCHECK(queries[i] != 0); | 1827 DCHECK(queries[i] != 0); |
| 1858 } | 1828 } |
| 1859 }); | 1829 }); |
| 1860 if (n < 0) { | 1830 if (n < 0) { |
| 1861 SetGLError(GL_INVALID_VALUE, "glDeleteQueriesEXT", "n < 0"); | 1831 SetGLError(GL_INVALID_VALUE, "glDeleteQueriesEXT", "n < 0"); |
| 1862 return; | 1832 return; |
| 1863 } | 1833 } |
| 1864 DeleteQueriesEXTHelper(n, queries); | 1834 DeleteQueriesEXTHelper(n, queries); |
| 1865 CheckGLError(); | 1835 CheckGLError(); |
| 1866 } | 1836 } |
| 1867 | 1837 |
| 1868 void GLES2Implementation::GenVertexArraysOES(GLsizei n, GLuint* arrays) { | 1838 void GLES2Implementation::GenVertexArraysOES(GLsizei n, GLuint* arrays) { |
| 1869 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenVertexArraysOES(" << n << ", " | 1839 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenVertexArraysOES(" << n << ", " |
| 1870 << static_cast<const void*>(arrays) << ")"); // NOLINT | 1840 << static_cast<const void*>(arrays) << ")"); |
| 1871 if (n < 0) { | 1841 if (n < 0) { |
| 1872 SetGLError(GL_INVALID_VALUE, "glGenVertexArraysOES", "n < 0"); | 1842 SetGLError(GL_INVALID_VALUE, "glGenVertexArraysOES", "n < 0"); |
| 1873 return; | 1843 return; |
| 1874 } | 1844 } |
| 1875 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1845 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1876 GetIdHandler(id_namespaces::kVertexArrays)->MakeIds(this, 0, n, arrays); | 1846 GetIdHandler(id_namespaces::kVertexArrays)->MakeIds(this, 0, n, arrays); |
| 1877 GenVertexArraysOESHelper(n, arrays); | 1847 GenVertexArraysOESHelper(n, arrays); |
| 1878 helper_->GenVertexArraysOESImmediate(n, arrays); | 1848 helper_->GenVertexArraysOESImmediate(n, arrays); |
| 1879 if (share_group_->bind_generates_resource()) | 1849 if (share_group_->bind_generates_resource()) |
| 1880 helper_->CommandBufferHelper::Flush(); | 1850 helper_->CommandBufferHelper::Flush(); |
| 1881 GPU_CLIENT_LOG_CODE_BLOCK({ | 1851 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 1882 for (GLsizei i = 0; i < n; ++i) { | 1852 for (GLsizei i = 0; i < n; ++i) { |
| 1883 GPU_CLIENT_LOG(" " << i << ": " << arrays[i]); | 1853 GPU_CLIENT_LOG(" " << i << ": " << arrays[i]); |
| 1884 } | 1854 } |
| 1885 }); | 1855 }); |
| 1886 CheckGLError(); | 1856 CheckGLError(); |
| 1887 } | 1857 } |
| 1888 | 1858 |
| 1889 void GLES2Implementation::DeleteVertexArraysOES(GLsizei n, | 1859 void GLES2Implementation::DeleteVertexArraysOES(GLsizei n, |
| 1890 const GLuint* arrays) { | 1860 const GLuint* arrays) { |
| 1891 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1861 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1892 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteVertexArraysOES(" << n | 1862 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteVertexArraysOES(" << n |
| 1893 << ", " << static_cast<const void*>(arrays) | 1863 << ", " << static_cast<const void*>(arrays) << ")"); |
| 1894 << ")"); // NOLINT | |
| 1895 GPU_CLIENT_LOG_CODE_BLOCK({ | 1864 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 1896 for (GLsizei i = 0; i < n; ++i) { | 1865 for (GLsizei i = 0; i < n; ++i) { |
| 1897 GPU_CLIENT_LOG(" " << i << ": " << arrays[i]); | 1866 GPU_CLIENT_LOG(" " << i << ": " << arrays[i]); |
| 1898 } | 1867 } |
| 1899 }); | 1868 }); |
| 1900 GPU_CLIENT_DCHECK_CODE_BLOCK({ | 1869 GPU_CLIENT_DCHECK_CODE_BLOCK({ |
| 1901 for (GLsizei i = 0; i < n; ++i) { | 1870 for (GLsizei i = 0; i < n; ++i) { |
| 1902 DCHECK(arrays[i] != 0); | 1871 DCHECK(arrays[i] != 0); |
| 1903 } | 1872 } |
| 1904 }); | 1873 }); |
| 1905 if (n < 0) { | 1874 if (n < 0) { |
| 1906 SetGLError(GL_INVALID_VALUE, "glDeleteVertexArraysOES", "n < 0"); | 1875 SetGLError(GL_INVALID_VALUE, "glDeleteVertexArraysOES", "n < 0"); |
| 1907 return; | 1876 return; |
| 1908 } | 1877 } |
| 1909 DeleteVertexArraysOESHelper(n, arrays); | 1878 DeleteVertexArraysOESHelper(n, arrays); |
| 1910 CheckGLError(); | 1879 CheckGLError(); |
| 1911 } | 1880 } |
| 1912 | 1881 |
| 1913 GLboolean GLES2Implementation::IsVertexArrayOES(GLuint array) { | 1882 GLboolean GLES2Implementation::IsVertexArrayOES(GLuint array) { |
| 1914 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1883 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1915 TRACE_EVENT0("gpu", "GLES2Implementation::IsVertexArrayOES"); | 1884 TRACE_EVENT0("gpu", "GLES2Implementation::IsVertexArrayOES"); |
| 1916 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glIsVertexArrayOES(" << array | 1885 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glIsVertexArrayOES(" << array |
| 1917 << ")"); // NOLINT | 1886 << ")"); |
| 1918 typedef cmds::IsVertexArrayOES::Result Result; | 1887 typedef cmds::IsVertexArrayOES::Result Result; |
| 1919 Result* result = GetResultAs<Result*>(); | 1888 Result* result = GetResultAs<Result*>(); |
| 1920 if (!result) { | 1889 if (!result) { |
| 1921 return GL_FALSE; | 1890 return GL_FALSE; |
| 1922 } | 1891 } |
| 1923 *result = 0; | 1892 *result = 0; |
| 1924 helper_->IsVertexArrayOES(array, GetResultShmId(), GetResultShmOffset()); | 1893 helper_->IsVertexArrayOES(array, GetResultShmId(), GetResultShmOffset()); |
| 1925 WaitForCmd(); | 1894 WaitForCmd(); |
| 1926 GLboolean result_value = *result; | 1895 GLboolean result_value = *result; |
| 1927 GPU_CLIENT_LOG("returned " << result_value); | 1896 GPU_CLIENT_LOG("returned " << result_value); |
| 1928 CheckGLError(); | 1897 CheckGLError(); |
| 1929 return result_value; | 1898 return result_value; |
| 1930 } | 1899 } |
| 1931 | 1900 |
| 1932 void GLES2Implementation::BindVertexArrayOES(GLuint array) { | 1901 void GLES2Implementation::BindVertexArrayOES(GLuint array) { |
| 1933 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1902 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1934 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindVertexArrayOES(" << array | 1903 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindVertexArrayOES(" << array |
| 1935 << ")"); // NOLINT | 1904 << ")"); |
| 1936 if (IsVertexArrayReservedId(array)) { | 1905 if (IsVertexArrayReservedId(array)) { |
| 1937 SetGLError(GL_INVALID_OPERATION, "BindVertexArrayOES", "array reserved id"); | 1906 SetGLError(GL_INVALID_OPERATION, "BindVertexArrayOES", "array reserved id"); |
| 1938 return; | 1907 return; |
| 1939 } | 1908 } |
| 1940 if (BindVertexArrayHelper(array)) { | 1909 if (BindVertexArrayHelper(array)) { |
| 1941 helper_->BindVertexArrayOES(array); | 1910 helper_->BindVertexArrayOES(array); |
| 1942 } | 1911 } |
| 1943 CheckGLError(); | 1912 CheckGLError(); |
| 1944 } | 1913 } |
| 1945 | 1914 |
| (...skipping 26 matching lines...) Expand all Loading... |
| 1972 } | 1941 } |
| 1973 void GLES2Implementation::TexImageIOSurface2DCHROMIUM(GLenum target, | 1942 void GLES2Implementation::TexImageIOSurface2DCHROMIUM(GLenum target, |
| 1974 GLsizei width, | 1943 GLsizei width, |
| 1975 GLsizei height, | 1944 GLsizei height, |
| 1976 GLuint ioSurfaceId, | 1945 GLuint ioSurfaceId, |
| 1977 GLuint plane) { | 1946 GLuint plane) { |
| 1978 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1947 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 1979 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTexImageIOSurface2DCHROMIUM(" | 1948 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glTexImageIOSurface2DCHROMIUM(" |
| 1980 << GLES2Util::GetStringTextureBindTarget(target) << ", " | 1949 << GLES2Util::GetStringTextureBindTarget(target) << ", " |
| 1981 << width << ", " << height << ", " << ioSurfaceId << ", " | 1950 << width << ", " << height << ", " << ioSurfaceId << ", " |
| 1982 << plane << ")"); // NOLINT | 1951 << plane << ")"); |
| 1983 if (width < 0) { | 1952 if (width < 0) { |
| 1984 SetGLError(GL_INVALID_VALUE, "glTexImageIOSurface2DCHROMIUM", "width < 0"); | 1953 SetGLError(GL_INVALID_VALUE, "glTexImageIOSurface2DCHROMIUM", "width < 0"); |
| 1985 return; | 1954 return; |
| 1986 } | 1955 } |
| 1987 if (height < 0) { | 1956 if (height < 0) { |
| 1988 SetGLError(GL_INVALID_VALUE, "glTexImageIOSurface2DCHROMIUM", "height < 0"); | 1957 SetGLError(GL_INVALID_VALUE, "glTexImageIOSurface2DCHROMIUM", "height < 0"); |
| 1989 return; | 1958 return; |
| 1990 } | 1959 } |
| 1991 helper_->TexImageIOSurface2DCHROMIUM( | 1960 helper_->TexImageIOSurface2DCHROMIUM( |
| 1992 target, width, height, ioSurfaceId, plane); | 1961 target, width, height, ioSurfaceId, plane); |
| 1993 CheckGLError(); | 1962 CheckGLError(); |
| 1994 } | 1963 } |
| 1995 | 1964 |
| 1996 void GLES2Implementation::CopyTextureCHROMIUM(GLenum target, | 1965 void GLES2Implementation::CopyTextureCHROMIUM(GLenum target, |
| 1997 GLenum source_id, | 1966 GLenum source_id, |
| 1998 GLenum dest_id, | 1967 GLenum dest_id, |
| 1999 GLint level, | 1968 GLint level, |
| 2000 GLint internalformat, | 1969 GLint internalformat, |
| 2001 GLenum dest_type) { | 1970 GLenum dest_type) { |
| 2002 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1971 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 2003 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCopyTextureCHROMIUM(" | 1972 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glCopyTextureCHROMIUM(" |
| 2004 << GLES2Util::GetStringEnum(target) << ", " | 1973 << GLES2Util::GetStringEnum(target) << ", " |
| 2005 << GLES2Util::GetStringEnum(source_id) << ", " | 1974 << GLES2Util::GetStringEnum(source_id) << ", " |
| 2006 << GLES2Util::GetStringEnum(dest_id) << ", " << level | 1975 << GLES2Util::GetStringEnum(dest_id) << ", " << level |
| 2007 << ", " << internalformat << ", " | 1976 << ", " << internalformat << ", " |
| 2008 << GLES2Util::GetStringPixelType(dest_type) | 1977 << GLES2Util::GetStringPixelType(dest_type) << ")"); |
| 2009 << ")"); // NOLINT | |
| 2010 helper_->CopyTextureCHROMIUM( | 1978 helper_->CopyTextureCHROMIUM( |
| 2011 target, source_id, dest_id, level, internalformat, dest_type); | 1979 target, source_id, dest_id, level, internalformat, dest_type); |
| 2012 CheckGLError(); | 1980 CheckGLError(); |
| 2013 } | 1981 } |
| 2014 | 1982 |
| 2015 void GLES2Implementation::BindTexImage2DCHROMIUM(GLenum target, GLint imageId) { | 1983 void GLES2Implementation::BindTexImage2DCHROMIUM(GLenum target, GLint imageId) { |
| 2016 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1984 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 2017 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindTexImage2DCHROMIUM(" | 1985 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindTexImage2DCHROMIUM(" |
| 2018 << GLES2Util::GetStringTextureBindTarget(target) << ", " | 1986 << GLES2Util::GetStringTextureBindTarget(target) << ", " |
| 2019 << imageId << ")"); // NOLINT | 1987 << imageId << ")"); |
| 2020 helper_->BindTexImage2DCHROMIUM(target, imageId); | 1988 helper_->BindTexImage2DCHROMIUM(target, imageId); |
| 2021 CheckGLError(); | 1989 CheckGLError(); |
| 2022 } | 1990 } |
| 2023 | 1991 |
| 2024 void GLES2Implementation::ReleaseTexImage2DCHROMIUM(GLenum target, | 1992 void GLES2Implementation::ReleaseTexImage2DCHROMIUM(GLenum target, |
| 2025 GLint imageId) { | 1993 GLint imageId) { |
| 2026 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 1994 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 2027 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glReleaseTexImage2DCHROMIUM(" | 1995 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glReleaseTexImage2DCHROMIUM(" |
| 2028 << GLES2Util::GetStringTextureBindTarget(target) << ", " | 1996 << GLES2Util::GetStringTextureBindTarget(target) << ", " |
| 2029 << imageId << ")"); // NOLINT | 1997 << imageId << ")"); |
| 2030 helper_->ReleaseTexImage2DCHROMIUM(target, imageId); | 1998 helper_->ReleaseTexImage2DCHROMIUM(target, imageId); |
| 2031 CheckGLError(); | 1999 CheckGLError(); |
| 2032 } | 2000 } |
| 2033 | 2001 |
| 2034 void GLES2Implementation::DiscardFramebufferEXT(GLenum target, | 2002 void GLES2Implementation::DiscardFramebufferEXT(GLenum target, |
| 2035 GLsizei count, | 2003 GLsizei count, |
| 2036 const GLenum* attachments) { | 2004 const GLenum* attachments) { |
| 2037 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 2005 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 2038 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDiscardFramebufferEXT(" | 2006 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDiscardFramebufferEXT(" |
| 2039 << GLES2Util::GetStringEnum(target) << ", " << count | 2007 << GLES2Util::GetStringEnum(target) << ", " << count |
| 2040 << ", " << static_cast<const void*>(attachments) | 2008 << ", " << static_cast<const void*>(attachments) << ")"); |
| 2041 << ")"); // NOLINT | |
| 2042 GPU_CLIENT_LOG_CODE_BLOCK({ | 2009 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 2043 for (GLsizei i = 0; i < count; ++i) { | 2010 for (GLsizei i = 0; i < count; ++i) { |
| 2044 GPU_CLIENT_LOG(" " << i << ": " << attachments[0 + i * 1]); | 2011 GPU_CLIENT_LOG(" " << i << ": " << attachments[0 + i * 1]); |
| 2045 } | 2012 } |
| 2046 }); | 2013 }); |
| 2047 if (count < 0) { | 2014 if (count < 0) { |
| 2048 SetGLError(GL_INVALID_VALUE, "glDiscardFramebufferEXT", "count < 0"); | 2015 SetGLError(GL_INVALID_VALUE, "glDiscardFramebufferEXT", "count < 0"); |
| 2049 return; | 2016 return; |
| 2050 } | 2017 } |
| 2051 helper_->DiscardFramebufferEXTImmediate(target, count, attachments); | 2018 helper_->DiscardFramebufferEXTImmediate(target, count, attachments); |
| 2052 CheckGLError(); | 2019 CheckGLError(); |
| 2053 } | 2020 } |
| 2054 | 2021 |
| 2055 void GLES2Implementation::LoseContextCHROMIUM(GLenum current, GLenum other) { | 2022 void GLES2Implementation::LoseContextCHROMIUM(GLenum current, GLenum other) { |
| 2056 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 2023 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 2057 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glLoseContextCHROMIUM(" | 2024 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glLoseContextCHROMIUM(" |
| 2058 << GLES2Util::GetStringEnum(current) << ", " | 2025 << GLES2Util::GetStringEnum(current) << ", " |
| 2059 << GLES2Util::GetStringEnum(other) << ")"); // NOLINT | 2026 << GLES2Util::GetStringEnum(other) << ")"); |
| 2060 helper_->LoseContextCHROMIUM(current, other); | 2027 helper_->LoseContextCHROMIUM(current, other); |
| 2061 CheckGLError(); | 2028 CheckGLError(); |
| 2062 } | 2029 } |
| 2063 | 2030 |
| 2064 void GLES2Implementation::WaitSyncPointCHROMIUM(GLuint sync_point) { | 2031 void GLES2Implementation::WaitSyncPointCHROMIUM(GLuint sync_point) { |
| 2065 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 2032 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 2066 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glWaitSyncPointCHROMIUM(" | 2033 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glWaitSyncPointCHROMIUM(" |
| 2067 << sync_point << ")"); // NOLINT | 2034 << sync_point << ")"); |
| 2068 helper_->WaitSyncPointCHROMIUM(sync_point); | 2035 helper_->WaitSyncPointCHROMIUM(sync_point); |
| 2069 CheckGLError(); | 2036 CheckGLError(); |
| 2070 } | 2037 } |
| 2071 | 2038 |
| 2072 void GLES2Implementation::DrawBuffersEXT(GLsizei count, const GLenum* bufs) { | 2039 void GLES2Implementation::DrawBuffersEXT(GLsizei count, const GLenum* bufs) { |
| 2073 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 2040 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 2074 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDrawBuffersEXT(" << count << ", " | 2041 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDrawBuffersEXT(" << count << ", " |
| 2075 << static_cast<const void*>(bufs) << ")"); // NOLINT | 2042 << static_cast<const void*>(bufs) << ")"); |
| 2076 GPU_CLIENT_LOG_CODE_BLOCK({ | 2043 GPU_CLIENT_LOG_CODE_BLOCK({ |
| 2077 for (GLsizei i = 0; i < count; ++i) { | 2044 for (GLsizei i = 0; i < count; ++i) { |
| 2078 GPU_CLIENT_LOG(" " << i << ": " << bufs[0 + i * 1]); | 2045 GPU_CLIENT_LOG(" " << i << ": " << bufs[0 + i * 1]); |
| 2079 } | 2046 } |
| 2080 }); | 2047 }); |
| 2081 if (count < 0) { | 2048 if (count < 0) { |
| 2082 SetGLError(GL_INVALID_VALUE, "glDrawBuffersEXT", "count < 0"); | 2049 SetGLError(GL_INVALID_VALUE, "glDrawBuffersEXT", "count < 0"); |
| 2083 return; | 2050 return; |
| 2084 } | 2051 } |
| 2085 helper_->DrawBuffersEXTImmediate(count, bufs); | 2052 helper_->DrawBuffersEXTImmediate(count, bufs); |
| 2086 CheckGLError(); | 2053 CheckGLError(); |
| 2087 } | 2054 } |
| 2088 | 2055 |
| 2089 void GLES2Implementation::DiscardBackbufferCHROMIUM() { | 2056 void GLES2Implementation::DiscardBackbufferCHROMIUM() { |
| 2090 GPU_CLIENT_SINGLE_THREAD_CHECK(); | 2057 GPU_CLIENT_SINGLE_THREAD_CHECK(); |
| 2091 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDiscardBackbufferCHROMIUM(" | 2058 GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDiscardBackbufferCHROMIUM(" |
| 2092 << ")"); // NOLINT | 2059 << ")"); |
| 2093 helper_->DiscardBackbufferCHROMIUM(); | 2060 helper_->DiscardBackbufferCHROMIUM(); |
| 2094 CheckGLError(); | 2061 CheckGLError(); |
| 2095 } | 2062 } |
| 2096 | 2063 |
| 2097 #endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_IMPL_AUTOGEN_H_ | 2064 #endif // GPU_COMMAND_BUFFER_CLIENT_GLES2_IMPLEMENTATION_IMPL_AUTOGEN_H_ |
| OLD | NEW |