Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(199)

Side by Side Diff: gpu/command_buffer/client/gles2_implementation_impl_autogen.h

Issue 189373003: Get rid of the formatting code in build_gles2_cmd_buffer.py (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698