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

Side by Side Diff: gpu/command_buffer/service/gles2_cmd_decoder_autogen.h

Issue 511001: Adds a GLMock object so we can check the code is... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 12 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 // This file is auto-generated. DO NOT EDIT! 1 // This file is auto-generated. DO NOT EDIT!
2 2
3 // It is included by gles2_cmd_decoder.cc 3 // It is included by gles2_cmd_decoder.cc
4 4
5 parse_error::ParseError GLES2DecoderImpl::HandleActiveTexture( 5 parse_error::ParseError GLES2DecoderImpl::HandleActiveTexture(
6 uint32 immediate_data_size, const gles2::ActiveTexture& c) { 6 uint32 immediate_data_size, const gles2::ActiveTexture& c) {
7 GLenum texture = static_cast<GLenum>(c.texture); 7 GLenum texture = static_cast<GLenum>(c.texture);
8 glActiveTexture(texture); 8 glActiveTexture(texture);
9 return parse_error::kParseNoError; 9 return parse_error::kParseNoError;
10 } 10 }
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 65
66 parse_error::ParseError GLES2DecoderImpl::HandleBindBuffer( 66 parse_error::ParseError GLES2DecoderImpl::HandleBindBuffer(
67 uint32 immediate_data_size, const gles2::BindBuffer& c) { 67 uint32 immediate_data_size, const gles2::BindBuffer& c) {
68 GLenum target = static_cast<GLenum>(c.target); 68 GLenum target = static_cast<GLenum>(c.target);
69 GLuint buffer; 69 GLuint buffer;
70 if (!id_map_.GetServiceId(c.buffer, &buffer)) { 70 if (!id_map_.GetServiceId(c.buffer, &buffer)) {
71 SetGLError(GL_INVALID_VALUE); 71 SetGLError(GL_INVALID_VALUE);
72 return parse_error::kParseNoError; 72 return parse_error::kParseNoError;
73 } 73 }
74 if (!ValidateGLenumBufferTarget(target)) { 74 if (!ValidateGLenumBufferTarget(target)) {
75 SetGLError(GL_INVALID_VALUE); 75 SetGLError(GL_INVALID_ENUM);
76 return parse_error::kParseNoError; 76 return parse_error::kParseNoError;
77 } 77 }
78 DoBindBuffer(target, buffer); 78 DoBindBuffer(target, buffer);
79 return parse_error::kParseNoError; 79 return parse_error::kParseNoError;
80 } 80 }
81 81
82 parse_error::ParseError GLES2DecoderImpl::HandleBindFramebuffer( 82 parse_error::ParseError GLES2DecoderImpl::HandleBindFramebuffer(
83 uint32 immediate_data_size, const gles2::BindFramebuffer& c) { 83 uint32 immediate_data_size, const gles2::BindFramebuffer& c) {
84 GLenum target = static_cast<GLenum>(c.target); 84 GLenum target = static_cast<GLenum>(c.target);
85 GLuint framebuffer; 85 GLuint framebuffer;
86 if (!id_map_.GetServiceId(c.framebuffer, &framebuffer)) { 86 if (!id_map_.GetServiceId(c.framebuffer, &framebuffer)) {
87 SetGLError(GL_INVALID_VALUE); 87 SetGLError(GL_INVALID_VALUE);
88 return parse_error::kParseNoError; 88 return parse_error::kParseNoError;
89 } 89 }
90 if (!ValidateGLenumFrameBufferTarget(target)) { 90 if (!ValidateGLenumFrameBufferTarget(target)) {
91 SetGLError(GL_INVALID_VALUE); 91 SetGLError(GL_INVALID_ENUM);
92 return parse_error::kParseNoError; 92 return parse_error::kParseNoError;
93 } 93 }
94 glBindFramebufferEXT(target, framebuffer); 94 glBindFramebufferEXT(target, framebuffer);
95 return parse_error::kParseNoError; 95 return parse_error::kParseNoError;
96 } 96 }
97 97
98 parse_error::ParseError GLES2DecoderImpl::HandleBindRenderbuffer( 98 parse_error::ParseError GLES2DecoderImpl::HandleBindRenderbuffer(
99 uint32 immediate_data_size, const gles2::BindRenderbuffer& c) { 99 uint32 immediate_data_size, const gles2::BindRenderbuffer& c) {
100 GLenum target = static_cast<GLenum>(c.target); 100 GLenum target = static_cast<GLenum>(c.target);
101 GLuint renderbuffer; 101 GLuint renderbuffer;
102 if (!id_map_.GetServiceId(c.renderbuffer, &renderbuffer)) { 102 if (!id_map_.GetServiceId(c.renderbuffer, &renderbuffer)) {
103 SetGLError(GL_INVALID_VALUE); 103 SetGLError(GL_INVALID_VALUE);
104 return parse_error::kParseNoError; 104 return parse_error::kParseNoError;
105 } 105 }
106 if (!ValidateGLenumRenderBufferTarget(target)) { 106 if (!ValidateGLenumRenderBufferTarget(target)) {
107 SetGLError(GL_INVALID_VALUE); 107 SetGLError(GL_INVALID_ENUM);
108 return parse_error::kParseNoError; 108 return parse_error::kParseNoError;
109 } 109 }
110 glBindRenderbufferEXT(target, renderbuffer); 110 glBindRenderbufferEXT(target, renderbuffer);
111 return parse_error::kParseNoError; 111 return parse_error::kParseNoError;
112 } 112 }
113 113
114 parse_error::ParseError GLES2DecoderImpl::HandleBindTexture( 114 parse_error::ParseError GLES2DecoderImpl::HandleBindTexture(
115 uint32 immediate_data_size, const gles2::BindTexture& c) { 115 uint32 immediate_data_size, const gles2::BindTexture& c) {
116 GLenum target = static_cast<GLenum>(c.target); 116 GLenum target = static_cast<GLenum>(c.target);
117 GLuint texture; 117 GLuint texture;
118 if (!id_map_.GetServiceId(c.texture, &texture)) { 118 if (!id_map_.GetServiceId(c.texture, &texture)) {
119 SetGLError(GL_INVALID_VALUE); 119 SetGLError(GL_INVALID_VALUE);
120 return parse_error::kParseNoError; 120 return parse_error::kParseNoError;
121 } 121 }
122 if (!ValidateGLenumTextureBindTarget(target)) { 122 if (!ValidateGLenumTextureBindTarget(target)) {
123 SetGLError(GL_INVALID_VALUE); 123 SetGLError(GL_INVALID_ENUM);
124 return parse_error::kParseNoError; 124 return parse_error::kParseNoError;
125 } 125 }
126 glBindTexture(target, texture); 126 glBindTexture(target, texture);
127 return parse_error::kParseNoError; 127 return parse_error::kParseNoError;
128 } 128 }
129 129
130 parse_error::ParseError GLES2DecoderImpl::HandleBlendColor( 130 parse_error::ParseError GLES2DecoderImpl::HandleBlendColor(
131 uint32 immediate_data_size, const gles2::BlendColor& c) { 131 uint32 immediate_data_size, const gles2::BlendColor& c) {
132 GLclampf red = static_cast<GLclampf>(c.red); 132 GLclampf red = static_cast<GLclampf>(c.red);
133 GLclampf green = static_cast<GLclampf>(c.green); 133 GLclampf green = static_cast<GLclampf>(c.green);
134 GLclampf blue = static_cast<GLclampf>(c.blue); 134 GLclampf blue = static_cast<GLclampf>(c.blue);
135 GLclampf alpha = static_cast<GLclampf>(c.alpha); 135 GLclampf alpha = static_cast<GLclampf>(c.alpha);
136 glBlendColor(red, green, blue, alpha); 136 glBlendColor(red, green, blue, alpha);
137 return parse_error::kParseNoError; 137 return parse_error::kParseNoError;
138 } 138 }
139 139
140 parse_error::ParseError GLES2DecoderImpl::HandleBlendEquation( 140 parse_error::ParseError GLES2DecoderImpl::HandleBlendEquation(
141 uint32 immediate_data_size, const gles2::BlendEquation& c) { 141 uint32 immediate_data_size, const gles2::BlendEquation& c) {
142 GLenum mode = static_cast<GLenum>(c.mode); 142 GLenum mode = static_cast<GLenum>(c.mode);
143 if (!ValidateGLenumEquation(mode)) { 143 if (!ValidateGLenumEquation(mode)) {
144 SetGLError(GL_INVALID_VALUE); 144 SetGLError(GL_INVALID_ENUM);
145 return parse_error::kParseNoError; 145 return parse_error::kParseNoError;
146 } 146 }
147 glBlendEquation(mode); 147 glBlendEquation(mode);
148 return parse_error::kParseNoError; 148 return parse_error::kParseNoError;
149 } 149 }
150 150
151 parse_error::ParseError GLES2DecoderImpl::HandleBlendEquationSeparate( 151 parse_error::ParseError GLES2DecoderImpl::HandleBlendEquationSeparate(
152 uint32 immediate_data_size, const gles2::BlendEquationSeparate& c) { 152 uint32 immediate_data_size, const gles2::BlendEquationSeparate& c) {
153 GLenum modeRGB = static_cast<GLenum>(c.modeRGB); 153 GLenum modeRGB = static_cast<GLenum>(c.modeRGB);
154 GLenum modeAlpha = static_cast<GLenum>(c.modeAlpha); 154 GLenum modeAlpha = static_cast<GLenum>(c.modeAlpha);
155 if (!ValidateGLenumEquation(modeRGB)) { 155 if (!ValidateGLenumEquation(modeRGB)) {
156 SetGLError(GL_INVALID_VALUE); 156 SetGLError(GL_INVALID_ENUM);
157 return parse_error::kParseNoError; 157 return parse_error::kParseNoError;
158 } 158 }
159 if (!ValidateGLenumEquation(modeAlpha)) { 159 if (!ValidateGLenumEquation(modeAlpha)) {
160 SetGLError(GL_INVALID_VALUE); 160 SetGLError(GL_INVALID_ENUM);
161 return parse_error::kParseNoError; 161 return parse_error::kParseNoError;
162 } 162 }
163 glBlendEquationSeparate(modeRGB, modeAlpha); 163 glBlendEquationSeparate(modeRGB, modeAlpha);
164 return parse_error::kParseNoError; 164 return parse_error::kParseNoError;
165 } 165 }
166 166
167 parse_error::ParseError GLES2DecoderImpl::HandleBlendFunc( 167 parse_error::ParseError GLES2DecoderImpl::HandleBlendFunc(
168 uint32 immediate_data_size, const gles2::BlendFunc& c) { 168 uint32 immediate_data_size, const gles2::BlendFunc& c) {
169 GLenum sfactor = static_cast<GLenum>(c.sfactor); 169 GLenum sfactor = static_cast<GLenum>(c.sfactor);
170 GLenum dfactor = static_cast<GLenum>(c.dfactor); 170 GLenum dfactor = static_cast<GLenum>(c.dfactor);
171 if (!ValidateGLenumSrcBlendFactor(sfactor)) { 171 if (!ValidateGLenumSrcBlendFactor(sfactor)) {
172 SetGLError(GL_INVALID_VALUE); 172 SetGLError(GL_INVALID_ENUM);
173 return parse_error::kParseNoError; 173 return parse_error::kParseNoError;
174 } 174 }
175 if (!ValidateGLenumDstBlendFactor(dfactor)) { 175 if (!ValidateGLenumDstBlendFactor(dfactor)) {
176 SetGLError(GL_INVALID_VALUE); 176 SetGLError(GL_INVALID_ENUM);
177 return parse_error::kParseNoError; 177 return parse_error::kParseNoError;
178 } 178 }
179 glBlendFunc(sfactor, dfactor); 179 glBlendFunc(sfactor, dfactor);
180 return parse_error::kParseNoError; 180 return parse_error::kParseNoError;
181 } 181 }
182 182
183 parse_error::ParseError GLES2DecoderImpl::HandleBlendFuncSeparate( 183 parse_error::ParseError GLES2DecoderImpl::HandleBlendFuncSeparate(
184 uint32 immediate_data_size, const gles2::BlendFuncSeparate& c) { 184 uint32 immediate_data_size, const gles2::BlendFuncSeparate& c) {
185 GLenum srcRGB = static_cast<GLenum>(c.srcRGB); 185 GLenum srcRGB = static_cast<GLenum>(c.srcRGB);
186 GLenum dstRGB = static_cast<GLenum>(c.dstRGB); 186 GLenum dstRGB = static_cast<GLenum>(c.dstRGB);
187 GLenum srcAlpha = static_cast<GLenum>(c.srcAlpha); 187 GLenum srcAlpha = static_cast<GLenum>(c.srcAlpha);
188 GLenum dstAlpha = static_cast<GLenum>(c.dstAlpha); 188 GLenum dstAlpha = static_cast<GLenum>(c.dstAlpha);
189 if (!ValidateGLenumSrcBlendFactor(srcRGB)) { 189 if (!ValidateGLenumSrcBlendFactor(srcRGB)) {
190 SetGLError(GL_INVALID_VALUE); 190 SetGLError(GL_INVALID_ENUM);
191 return parse_error::kParseNoError; 191 return parse_error::kParseNoError;
192 } 192 }
193 if (!ValidateGLenumDstBlendFactor(dstRGB)) { 193 if (!ValidateGLenumDstBlendFactor(dstRGB)) {
194 SetGLError(GL_INVALID_VALUE); 194 SetGLError(GL_INVALID_ENUM);
195 return parse_error::kParseNoError; 195 return parse_error::kParseNoError;
196 } 196 }
197 if (!ValidateGLenumSrcBlendFactor(srcAlpha)) { 197 if (!ValidateGLenumSrcBlendFactor(srcAlpha)) {
198 SetGLError(GL_INVALID_VALUE); 198 SetGLError(GL_INVALID_ENUM);
199 return parse_error::kParseNoError; 199 return parse_error::kParseNoError;
200 } 200 }
201 if (!ValidateGLenumDstBlendFactor(dstAlpha)) { 201 if (!ValidateGLenumDstBlendFactor(dstAlpha)) {
202 SetGLError(GL_INVALID_VALUE); 202 SetGLError(GL_INVALID_ENUM);
203 return parse_error::kParseNoError; 203 return parse_error::kParseNoError;
204 } 204 }
205 glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha); 205 glBlendFuncSeparate(srcRGB, dstRGB, srcAlpha, dstAlpha);
206 return parse_error::kParseNoError; 206 return parse_error::kParseNoError;
207 } 207 }
208 208
209 parse_error::ParseError GLES2DecoderImpl::HandleBufferSubData( 209 parse_error::ParseError GLES2DecoderImpl::HandleBufferSubData(
210 uint32 immediate_data_size, const gles2::BufferSubData& c) { 210 uint32 immediate_data_size, const gles2::BufferSubData& c) {
211 GLenum target = static_cast<GLenum>(c.target); 211 GLenum target = static_cast<GLenum>(c.target);
212 GLintptr offset = static_cast<GLintptr>(c.offset); 212 GLintptr offset = static_cast<GLintptr>(c.offset);
213 GLsizeiptr size = static_cast<GLsizeiptr>(c.size); 213 GLsizeiptr size = static_cast<GLsizeiptr>(c.size);
214 uint32 data_size = size; 214 uint32 data_size = size;
215 const void* data = GetSharedMemoryAs<const void*>( 215 const void* data = GetSharedMemoryAs<const void*>(
216 c.data_shm_id, c.data_shm_offset, data_size); 216 c.data_shm_id, c.data_shm_offset, data_size);
217 if (!ValidateGLenumBufferTarget(target)) { 217 if (!ValidateGLenumBufferTarget(target)) {
218 SetGLError(GL_INVALID_VALUE); 218 SetGLError(GL_INVALID_ENUM);
219 return parse_error::kParseNoError; 219 return parse_error::kParseNoError;
220 } 220 }
221 if (data == NULL) { 221 if (data == NULL) {
222 return parse_error::kParseOutOfBounds; 222 return parse_error::kParseOutOfBounds;
223 } 223 }
224 glBufferSubData(target, offset, size, data); 224 glBufferSubData(target, offset, size, data);
225 return parse_error::kParseNoError; 225 return parse_error::kParseNoError;
226 } 226 }
227 227
228 parse_error::ParseError GLES2DecoderImpl::HandleBufferSubDataImmediate( 228 parse_error::ParseError GLES2DecoderImpl::HandleBufferSubDataImmediate(
229 uint32 immediate_data_size, const gles2::BufferSubDataImmediate& c) { 229 uint32 immediate_data_size, const gles2::BufferSubDataImmediate& c) {
230 GLenum target = static_cast<GLenum>(c.target); 230 GLenum target = static_cast<GLenum>(c.target);
231 GLintptr offset = static_cast<GLintptr>(c.offset); 231 GLintptr offset = static_cast<GLintptr>(c.offset);
232 GLsizeiptr size = static_cast<GLsizeiptr>(c.size); 232 GLsizeiptr size = static_cast<GLsizeiptr>(c.size);
233 uint32 data_size = size; 233 uint32 data_size = size;
234 const void* data = GetImmediateDataAs<const void*>( 234 const void* data = GetImmediateDataAs<const void*>(
235 c, data_size, immediate_data_size); 235 c, data_size, immediate_data_size);
236 if (!ValidateGLenumBufferTarget(target)) { 236 if (!ValidateGLenumBufferTarget(target)) {
237 SetGLError(GL_INVALID_VALUE); 237 SetGLError(GL_INVALID_ENUM);
238 return parse_error::kParseNoError; 238 return parse_error::kParseNoError;
239 } 239 }
240 if (data == NULL) { 240 if (data == NULL) {
241 return parse_error::kParseOutOfBounds; 241 return parse_error::kParseOutOfBounds;
242 } 242 }
243 glBufferSubData(target, offset, size, data); 243 glBufferSubData(target, offset, size, data);
244 return parse_error::kParseNoError; 244 return parse_error::kParseNoError;
245 } 245 }
246 246
247 parse_error::ParseError GLES2DecoderImpl::HandleCheckFramebufferStatus( 247 parse_error::ParseError GLES2DecoderImpl::HandleCheckFramebufferStatus(
248 uint32 immediate_data_size, const gles2::CheckFramebufferStatus& c) { 248 uint32 immediate_data_size, const gles2::CheckFramebufferStatus& c) {
249 GLenum target = static_cast<GLenum>(c.target); 249 GLenum target = static_cast<GLenum>(c.target);
250 if (!ValidateGLenumFrameBufferTarget(target)) { 250 if (!ValidateGLenumFrameBufferTarget(target)) {
251 SetGLError(GL_INVALID_VALUE); 251 SetGLError(GL_INVALID_ENUM);
252 return parse_error::kParseNoError; 252 return parse_error::kParseNoError;
253 } 253 }
254 glCheckFramebufferStatusEXT(target); 254 glCheckFramebufferStatusEXT(target);
255 return parse_error::kParseNoError; 255 return parse_error::kParseNoError;
256 } 256 }
257 257
258 parse_error::ParseError GLES2DecoderImpl::HandleClear( 258 parse_error::ParseError GLES2DecoderImpl::HandleClear(
259 uint32 immediate_data_size, const gles2::Clear& c) { 259 uint32 immediate_data_size, const gles2::Clear& c) {
260 GLbitfield mask = static_cast<GLbitfield>(c.mask); 260 GLbitfield mask = static_cast<GLbitfield>(c.mask);
261 glClear(mask); 261 glClear(mask);
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 GLint xoffset = static_cast<GLint>(c.xoffset); 314 GLint xoffset = static_cast<GLint>(c.xoffset);
315 GLint yoffset = static_cast<GLint>(c.yoffset); 315 GLint yoffset = static_cast<GLint>(c.yoffset);
316 GLsizei width = static_cast<GLsizei>(c.width); 316 GLsizei width = static_cast<GLsizei>(c.width);
317 GLsizei height = static_cast<GLsizei>(c.height); 317 GLsizei height = static_cast<GLsizei>(c.height);
318 GLenum format = static_cast<GLenum>(c.format); 318 GLenum format = static_cast<GLenum>(c.format);
319 GLsizei imageSize = static_cast<GLsizei>(c.imageSize); 319 GLsizei imageSize = static_cast<GLsizei>(c.imageSize);
320 uint32 data_size = imageSize; 320 uint32 data_size = imageSize;
321 const void* data = GetSharedMemoryAs<const void*>( 321 const void* data = GetSharedMemoryAs<const void*>(
322 c.data_shm_id, c.data_shm_offset, data_size); 322 c.data_shm_id, c.data_shm_offset, data_size);
323 if (!ValidateGLenumTextureTarget(target)) { 323 if (!ValidateGLenumTextureTarget(target)) {
324 SetGLError(GL_INVALID_VALUE); 324 SetGLError(GL_INVALID_ENUM);
325 return parse_error::kParseNoError; 325 return parse_error::kParseNoError;
326 } 326 }
327 if (data == NULL) { 327 if (data == NULL) {
328 return parse_error::kParseOutOfBounds; 328 return parse_error::kParseOutOfBounds;
329 } 329 }
330 glCompressedTexSubImage2D( 330 glCompressedTexSubImage2D(
331 target, level, xoffset, yoffset, width, height, format, imageSize, data); 331 target, level, xoffset, yoffset, width, height, format, imageSize, data);
332 return parse_error::kParseNoError; 332 return parse_error::kParseNoError;
333 } 333 }
334 334
335 parse_error::ParseError GLES2DecoderImpl::HandleCompressedTexSubImage2DImmediate ( 335 parse_error::ParseError GLES2DecoderImpl::HandleCompressedTexSubImage2DImmediate (
336 336
337 uint32 immediate_data_size, 337 uint32 immediate_data_size,
338 const gles2::CompressedTexSubImage2DImmediate& c) { 338 const gles2::CompressedTexSubImage2DImmediate& c) {
339 GLenum target = static_cast<GLenum>(c.target); 339 GLenum target = static_cast<GLenum>(c.target);
340 GLint level = static_cast<GLint>(c.level); 340 GLint level = static_cast<GLint>(c.level);
341 GLint xoffset = static_cast<GLint>(c.xoffset); 341 GLint xoffset = static_cast<GLint>(c.xoffset);
342 GLint yoffset = static_cast<GLint>(c.yoffset); 342 GLint yoffset = static_cast<GLint>(c.yoffset);
343 GLsizei width = static_cast<GLsizei>(c.width); 343 GLsizei width = static_cast<GLsizei>(c.width);
344 GLsizei height = static_cast<GLsizei>(c.height); 344 GLsizei height = static_cast<GLsizei>(c.height);
345 GLenum format = static_cast<GLenum>(c.format); 345 GLenum format = static_cast<GLenum>(c.format);
346 GLsizei imageSize = static_cast<GLsizei>(c.imageSize); 346 GLsizei imageSize = static_cast<GLsizei>(c.imageSize);
347 uint32 data_size = imageSize; 347 uint32 data_size = imageSize;
348 const void* data = GetImmediateDataAs<const void*>( 348 const void* data = GetImmediateDataAs<const void*>(
349 c, data_size, immediate_data_size); 349 c, data_size, immediate_data_size);
350 if (!ValidateGLenumTextureTarget(target)) { 350 if (!ValidateGLenumTextureTarget(target)) {
351 SetGLError(GL_INVALID_VALUE); 351 SetGLError(GL_INVALID_ENUM);
352 return parse_error::kParseNoError; 352 return parse_error::kParseNoError;
353 } 353 }
354 if (data == NULL) { 354 if (data == NULL) {
355 return parse_error::kParseOutOfBounds; 355 return parse_error::kParseOutOfBounds;
356 } 356 }
357 glCompressedTexSubImage2D( 357 glCompressedTexSubImage2D(
358 target, level, xoffset, yoffset, width, height, format, imageSize, data); 358 target, level, xoffset, yoffset, width, height, format, imageSize, data);
359 return parse_error::kParseNoError; 359 return parse_error::kParseNoError;
360 } 360 }
361 361
362 parse_error::ParseError GLES2DecoderImpl::HandleCopyTexImage2D( 362 parse_error::ParseError GLES2DecoderImpl::HandleCopyTexImage2D(
363 uint32 immediate_data_size, const gles2::CopyTexImage2D& c) { 363 uint32 immediate_data_size, const gles2::CopyTexImage2D& c) {
364 GLenum target = static_cast<GLenum>(c.target); 364 GLenum target = static_cast<GLenum>(c.target);
365 GLint level = static_cast<GLint>(c.level); 365 GLint level = static_cast<GLint>(c.level);
366 GLenum internalformat = static_cast<GLenum>(c.internalformat); 366 GLenum internalformat = static_cast<GLenum>(c.internalformat);
367 GLint x = static_cast<GLint>(c.x); 367 GLint x = static_cast<GLint>(c.x);
368 GLint y = static_cast<GLint>(c.y); 368 GLint y = static_cast<GLint>(c.y);
369 GLsizei width = static_cast<GLsizei>(c.width); 369 GLsizei width = static_cast<GLsizei>(c.width);
370 GLsizei height = static_cast<GLsizei>(c.height); 370 GLsizei height = static_cast<GLsizei>(c.height);
371 GLint border = static_cast<GLint>(c.border); 371 GLint border = static_cast<GLint>(c.border);
372 if (!ValidateGLenumTextureTarget(target)) { 372 if (!ValidateGLenumTextureTarget(target)) {
373 SetGLError(GL_INVALID_VALUE); 373 SetGLError(GL_INVALID_ENUM);
374 return parse_error::kParseNoError; 374 return parse_error::kParseNoError;
375 } 375 }
376 glCopyTexImage2D(target, level, internalformat, x, y, width, height, border); 376 glCopyTexImage2D(target, level, internalformat, x, y, width, height, border);
377 return parse_error::kParseNoError; 377 return parse_error::kParseNoError;
378 } 378 }
379 379
380 parse_error::ParseError GLES2DecoderImpl::HandleCopyTexSubImage2D( 380 parse_error::ParseError GLES2DecoderImpl::HandleCopyTexSubImage2D(
381 uint32 immediate_data_size, const gles2::CopyTexSubImage2D& c) { 381 uint32 immediate_data_size, const gles2::CopyTexSubImage2D& c) {
382 GLenum target = static_cast<GLenum>(c.target); 382 GLenum target = static_cast<GLenum>(c.target);
383 GLint level = static_cast<GLint>(c.level); 383 GLint level = static_cast<GLint>(c.level);
384 GLint xoffset = static_cast<GLint>(c.xoffset); 384 GLint xoffset = static_cast<GLint>(c.xoffset);
385 GLint yoffset = static_cast<GLint>(c.yoffset); 385 GLint yoffset = static_cast<GLint>(c.yoffset);
386 GLint x = static_cast<GLint>(c.x); 386 GLint x = static_cast<GLint>(c.x);
387 GLint y = static_cast<GLint>(c.y); 387 GLint y = static_cast<GLint>(c.y);
388 GLsizei width = static_cast<GLsizei>(c.width); 388 GLsizei width = static_cast<GLsizei>(c.width);
389 GLsizei height = static_cast<GLsizei>(c.height); 389 GLsizei height = static_cast<GLsizei>(c.height);
390 if (!ValidateGLenumTextureTarget(target)) { 390 if (!ValidateGLenumTextureTarget(target)) {
391 SetGLError(GL_INVALID_VALUE); 391 SetGLError(GL_INVALID_ENUM);
392 return parse_error::kParseNoError; 392 return parse_error::kParseNoError;
393 } 393 }
394 glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height); 394 glCopyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
395 return parse_error::kParseNoError; 395 return parse_error::kParseNoError;
396 } 396 }
397 397
398 parse_error::ParseError GLES2DecoderImpl::HandleCreateProgram( 398 parse_error::ParseError GLES2DecoderImpl::HandleCreateProgram(
399 uint32 immediate_data_size, const gles2::CreateProgram& c) { 399 uint32 immediate_data_size, const gles2::CreateProgram& c) {
400 uint32 client_id = c.client_id; 400 uint32 client_id = c.client_id;
401 CreateProgramHelper(client_id); 401 CreateProgramHelper(client_id);
402 return parse_error::kParseNoError; 402 return parse_error::kParseNoError;
403 } 403 }
404 404
405 parse_error::ParseError GLES2DecoderImpl::HandleCreateShader( 405 parse_error::ParseError GLES2DecoderImpl::HandleCreateShader(
406 uint32 immediate_data_size, const gles2::CreateShader& c) { 406 uint32 immediate_data_size, const gles2::CreateShader& c) {
407 GLenum type = static_cast<GLenum>(c.type); 407 GLenum type = static_cast<GLenum>(c.type);
408 if (!ValidateGLenumShaderType(type)) { 408 if (!ValidateGLenumShaderType(type)) {
409 SetGLError(GL_INVALID_VALUE); 409 SetGLError(GL_INVALID_ENUM);
410 return parse_error::kParseNoError; 410 return parse_error::kParseNoError;
411 } 411 }
412 uint32 client_id = c.client_id; 412 uint32 client_id = c.client_id;
413 CreateShaderHelper(type, client_id); 413 CreateShaderHelper(type, client_id);
414 return parse_error::kParseNoError; 414 return parse_error::kParseNoError;
415 } 415 }
416 416
417 parse_error::ParseError GLES2DecoderImpl::HandleCullFace( 417 parse_error::ParseError GLES2DecoderImpl::HandleCullFace(
418 uint32 immediate_data_size, const gles2::CullFace& c) { 418 uint32 immediate_data_size, const gles2::CullFace& c) {
419 GLenum mode = static_cast<GLenum>(c.mode); 419 GLenum mode = static_cast<GLenum>(c.mode);
420 if (!ValidateGLenumFaceType(mode)) { 420 if (!ValidateGLenumFaceType(mode)) {
421 SetGLError(GL_INVALID_VALUE); 421 SetGLError(GL_INVALID_ENUM);
422 return parse_error::kParseNoError; 422 return parse_error::kParseNoError;
423 } 423 }
424 glCullFace(mode); 424 glCullFace(mode);
425 return parse_error::kParseNoError; 425 return parse_error::kParseNoError;
426 } 426 }
427 427
428 parse_error::ParseError GLES2DecoderImpl::HandleDeleteBuffers( 428 parse_error::ParseError GLES2DecoderImpl::HandleDeleteBuffers(
429 uint32 immediate_data_size, const gles2::DeleteBuffers& c) { 429 uint32 immediate_data_size, const gles2::DeleteBuffers& c) {
430 GLsizei n = static_cast<GLsizei>(c.n); 430 GLsizei n = static_cast<GLsizei>(c.n);
431 uint32 data_size = n * sizeof(GLuint); 431 uint32 data_size = n * sizeof(GLuint);
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
526 return parse_error::kParseOutOfBounds; 526 return parse_error::kParseOutOfBounds;
527 } 527 }
528 DeleteGLObjects<GLDeleteTexturesHelper>(n, textures); 528 DeleteGLObjects<GLDeleteTexturesHelper>(n, textures);
529 return parse_error::kParseNoError; 529 return parse_error::kParseNoError;
530 } 530 }
531 531
532 parse_error::ParseError GLES2DecoderImpl::HandleDepthFunc( 532 parse_error::ParseError GLES2DecoderImpl::HandleDepthFunc(
533 uint32 immediate_data_size, const gles2::DepthFunc& c) { 533 uint32 immediate_data_size, const gles2::DepthFunc& c) {
534 GLenum func = static_cast<GLenum>(c.func); 534 GLenum func = static_cast<GLenum>(c.func);
535 if (!ValidateGLenumCmpFunction(func)) { 535 if (!ValidateGLenumCmpFunction(func)) {
536 SetGLError(GL_INVALID_VALUE); 536 SetGLError(GL_INVALID_ENUM);
537 return parse_error::kParseNoError; 537 return parse_error::kParseNoError;
538 } 538 }
539 glDepthFunc(func); 539 glDepthFunc(func);
540 return parse_error::kParseNoError; 540 return parse_error::kParseNoError;
541 } 541 }
542 542
543 parse_error::ParseError GLES2DecoderImpl::HandleDepthMask( 543 parse_error::ParseError GLES2DecoderImpl::HandleDepthMask(
544 uint32 immediate_data_size, const gles2::DepthMask& c) { 544 uint32 immediate_data_size, const gles2::DepthMask& c) {
545 GLboolean flag = static_cast<GLboolean>(c.flag); 545 GLboolean flag = static_cast<GLboolean>(c.flag);
546 glDepthMask(flag); 546 glDepthMask(flag);
(...skipping 21 matching lines...) Expand all
568 return parse_error::kParseNoError; 568 return parse_error::kParseNoError;
569 } 569 }
570 glDetachShader(program, shader); 570 glDetachShader(program, shader);
571 return parse_error::kParseNoError; 571 return parse_error::kParseNoError;
572 } 572 }
573 573
574 parse_error::ParseError GLES2DecoderImpl::HandleDisable( 574 parse_error::ParseError GLES2DecoderImpl::HandleDisable(
575 uint32 immediate_data_size, const gles2::Disable& c) { 575 uint32 immediate_data_size, const gles2::Disable& c) {
576 GLenum cap = static_cast<GLenum>(c.cap); 576 GLenum cap = static_cast<GLenum>(c.cap);
577 if (!ValidateGLenumCapability(cap)) { 577 if (!ValidateGLenumCapability(cap)) {
578 SetGLError(GL_INVALID_VALUE); 578 SetGLError(GL_INVALID_ENUM);
579 return parse_error::kParseNoError; 579 return parse_error::kParseNoError;
580 } 580 }
581 glDisable(cap); 581 glDisable(cap);
582 return parse_error::kParseNoError; 582 return parse_error::kParseNoError;
583 } 583 }
584 584
585 parse_error::ParseError GLES2DecoderImpl::HandleDisableVertexAttribArray( 585 parse_error::ParseError GLES2DecoderImpl::HandleDisableVertexAttribArray(
586 uint32 immediate_data_size, const gles2::DisableVertexAttribArray& c) { 586 uint32 immediate_data_size, const gles2::DisableVertexAttribArray& c) {
587 GLuint index = static_cast<GLuint>(c.index); 587 GLuint index = static_cast<GLuint>(c.index);
588 DoDisableVertexAttribArray(index); 588 DoDisableVertexAttribArray(index);
589 return parse_error::kParseNoError; 589 return parse_error::kParseNoError;
590 } 590 }
591 591
592 parse_error::ParseError GLES2DecoderImpl::HandleDrawArrays( 592 parse_error::ParseError GLES2DecoderImpl::HandleDrawArrays(
593 uint32 immediate_data_size, const gles2::DrawArrays& c) { 593 uint32 immediate_data_size, const gles2::DrawArrays& c) {
594 GLenum mode = static_cast<GLenum>(c.mode); 594 GLenum mode = static_cast<GLenum>(c.mode);
595 GLint first = static_cast<GLint>(c.first); 595 GLint first = static_cast<GLint>(c.first);
596 GLsizei count = static_cast<GLsizei>(c.count); 596 GLsizei count = static_cast<GLsizei>(c.count);
597 if (!ValidateGLenumDrawMode(mode)) { 597 if (!ValidateGLenumDrawMode(mode)) {
598 SetGLError(GL_INVALID_VALUE); 598 SetGLError(GL_INVALID_ENUM);
599 return parse_error::kParseNoError; 599 return parse_error::kParseNoError;
600 } 600 }
601 DoDrawArrays(mode, first, count); 601 DoDrawArrays(mode, first, count);
602 return parse_error::kParseNoError; 602 return parse_error::kParseNoError;
603 } 603 }
604 604
605 parse_error::ParseError GLES2DecoderImpl::HandleEnable( 605 parse_error::ParseError GLES2DecoderImpl::HandleEnable(
606 uint32 immediate_data_size, const gles2::Enable& c) { 606 uint32 immediate_data_size, const gles2::Enable& c) {
607 GLenum cap = static_cast<GLenum>(c.cap); 607 GLenum cap = static_cast<GLenum>(c.cap);
608 if (!ValidateGLenumCapability(cap)) { 608 if (!ValidateGLenumCapability(cap)) {
609 SetGLError(GL_INVALID_VALUE); 609 SetGLError(GL_INVALID_ENUM);
610 return parse_error::kParseNoError; 610 return parse_error::kParseNoError;
611 } 611 }
612 glEnable(cap); 612 glEnable(cap);
613 return parse_error::kParseNoError; 613 return parse_error::kParseNoError;
614 } 614 }
615 615
616 parse_error::ParseError GLES2DecoderImpl::HandleEnableVertexAttribArray( 616 parse_error::ParseError GLES2DecoderImpl::HandleEnableVertexAttribArray(
617 uint32 immediate_data_size, const gles2::EnableVertexAttribArray& c) { 617 uint32 immediate_data_size, const gles2::EnableVertexAttribArray& c) {
618 GLuint index = static_cast<GLuint>(c.index); 618 GLuint index = static_cast<GLuint>(c.index);
619 DoEnableVertexAttribArray(index); 619 DoEnableVertexAttribArray(index);
(...skipping 16 matching lines...) Expand all
636 uint32 immediate_data_size, const gles2::FramebufferRenderbuffer& c) { 636 uint32 immediate_data_size, const gles2::FramebufferRenderbuffer& c) {
637 GLenum target = static_cast<GLenum>(c.target); 637 GLenum target = static_cast<GLenum>(c.target);
638 GLenum attachment = static_cast<GLenum>(c.attachment); 638 GLenum attachment = static_cast<GLenum>(c.attachment);
639 GLenum renderbuffertarget = static_cast<GLenum>(c.renderbuffertarget); 639 GLenum renderbuffertarget = static_cast<GLenum>(c.renderbuffertarget);
640 GLuint renderbuffer; 640 GLuint renderbuffer;
641 if (!id_map_.GetServiceId(c.renderbuffer, &renderbuffer)) { 641 if (!id_map_.GetServiceId(c.renderbuffer, &renderbuffer)) {
642 SetGLError(GL_INVALID_VALUE); 642 SetGLError(GL_INVALID_VALUE);
643 return parse_error::kParseNoError; 643 return parse_error::kParseNoError;
644 } 644 }
645 if (!ValidateGLenumFrameBufferTarget(target)) { 645 if (!ValidateGLenumFrameBufferTarget(target)) {
646 SetGLError(GL_INVALID_VALUE); 646 SetGLError(GL_INVALID_ENUM);
647 return parse_error::kParseNoError; 647 return parse_error::kParseNoError;
648 } 648 }
649 if (!ValidateGLenumAttachment(attachment)) { 649 if (!ValidateGLenumAttachment(attachment)) {
650 SetGLError(GL_INVALID_VALUE); 650 SetGLError(GL_INVALID_ENUM);
651 return parse_error::kParseNoError; 651 return parse_error::kParseNoError;
652 } 652 }
653 if (!ValidateGLenumRenderBufferTarget(renderbuffertarget)) { 653 if (!ValidateGLenumRenderBufferTarget(renderbuffertarget)) {
654 SetGLError(GL_INVALID_VALUE); 654 SetGLError(GL_INVALID_ENUM);
655 return parse_error::kParseNoError; 655 return parse_error::kParseNoError;
656 } 656 }
657 glFramebufferRenderbufferEXT( 657 glFramebufferRenderbufferEXT(
658 target, attachment, renderbuffertarget, renderbuffer); 658 target, attachment, renderbuffertarget, renderbuffer);
659 return parse_error::kParseNoError; 659 return parse_error::kParseNoError;
660 } 660 }
661 661
662 parse_error::ParseError GLES2DecoderImpl::HandleFramebufferTexture2D( 662 parse_error::ParseError GLES2DecoderImpl::HandleFramebufferTexture2D(
663 uint32 immediate_data_size, const gles2::FramebufferTexture2D& c) { 663 uint32 immediate_data_size, const gles2::FramebufferTexture2D& c) {
664 GLenum target = static_cast<GLenum>(c.target); 664 GLenum target = static_cast<GLenum>(c.target);
665 GLenum attachment = static_cast<GLenum>(c.attachment); 665 GLenum attachment = static_cast<GLenum>(c.attachment);
666 GLenum textarget = static_cast<GLenum>(c.textarget); 666 GLenum textarget = static_cast<GLenum>(c.textarget);
667 GLuint texture; 667 GLuint texture;
668 if (!id_map_.GetServiceId(c.texture, &texture)) { 668 if (!id_map_.GetServiceId(c.texture, &texture)) {
669 SetGLError(GL_INVALID_VALUE); 669 SetGLError(GL_INVALID_VALUE);
670 return parse_error::kParseNoError; 670 return parse_error::kParseNoError;
671 } 671 }
672 GLint level = static_cast<GLint>(c.level); 672 GLint level = static_cast<GLint>(c.level);
673 if (!ValidateGLenumFrameBufferTarget(target)) { 673 if (!ValidateGLenumFrameBufferTarget(target)) {
674 SetGLError(GL_INVALID_VALUE); 674 SetGLError(GL_INVALID_ENUM);
675 return parse_error::kParseNoError; 675 return parse_error::kParseNoError;
676 } 676 }
677 if (!ValidateGLenumAttachment(attachment)) { 677 if (!ValidateGLenumAttachment(attachment)) {
678 SetGLError(GL_INVALID_VALUE); 678 SetGLError(GL_INVALID_ENUM);
679 return parse_error::kParseNoError; 679 return parse_error::kParseNoError;
680 } 680 }
681 if (!ValidateGLenumTextureTarget(textarget)) { 681 if (!ValidateGLenumTextureTarget(textarget)) {
682 SetGLError(GL_INVALID_VALUE); 682 SetGLError(GL_INVALID_ENUM);
683 return parse_error::kParseNoError; 683 return parse_error::kParseNoError;
684 } 684 }
685 glFramebufferTexture2DEXT(target, attachment, textarget, texture, level); 685 glFramebufferTexture2DEXT(target, attachment, textarget, texture, level);
686 return parse_error::kParseNoError; 686 return parse_error::kParseNoError;
687 } 687 }
688 688
689 parse_error::ParseError GLES2DecoderImpl::HandleFrontFace( 689 parse_error::ParseError GLES2DecoderImpl::HandleFrontFace(
690 uint32 immediate_data_size, const gles2::FrontFace& c) { 690 uint32 immediate_data_size, const gles2::FrontFace& c) {
691 GLenum mode = static_cast<GLenum>(c.mode); 691 GLenum mode = static_cast<GLenum>(c.mode);
692 if (!ValidateGLenumFaceMode(mode)) { 692 if (!ValidateGLenumFaceMode(mode)) {
693 SetGLError(GL_INVALID_VALUE); 693 SetGLError(GL_INVALID_ENUM);
694 return parse_error::kParseNoError; 694 return parse_error::kParseNoError;
695 } 695 }
696 glFrontFace(mode); 696 glFrontFace(mode);
697 return parse_error::kParseNoError; 697 return parse_error::kParseNoError;
698 } 698 }
699 699
700 parse_error::ParseError GLES2DecoderImpl::HandleGenBuffers( 700 parse_error::ParseError GLES2DecoderImpl::HandleGenBuffers(
701 uint32 immediate_data_size, const gles2::GenBuffers& c) { 701 uint32 immediate_data_size, const gles2::GenBuffers& c) {
702 GLsizei n = static_cast<GLsizei>(c.n); 702 GLsizei n = static_cast<GLsizei>(c.n);
703 uint32 data_size = n * sizeof(GLuint); 703 uint32 data_size = n * sizeof(GLuint);
(...skipping 16 matching lines...) Expand all
720 return parse_error::kParseOutOfBounds; 720 return parse_error::kParseOutOfBounds;
721 } 721 }
722 GenGLObjects<GLGenBuffersHelper>(n, buffers); 722 GenGLObjects<GLGenBuffersHelper>(n, buffers);
723 return parse_error::kParseNoError; 723 return parse_error::kParseNoError;
724 } 724 }
725 725
726 parse_error::ParseError GLES2DecoderImpl::HandleGenerateMipmap( 726 parse_error::ParseError GLES2DecoderImpl::HandleGenerateMipmap(
727 uint32 immediate_data_size, const gles2::GenerateMipmap& c) { 727 uint32 immediate_data_size, const gles2::GenerateMipmap& c) {
728 GLenum target = static_cast<GLenum>(c.target); 728 GLenum target = static_cast<GLenum>(c.target);
729 if (!ValidateGLenumTextureBindTarget(target)) { 729 if (!ValidateGLenumTextureBindTarget(target)) {
730 SetGLError(GL_INVALID_VALUE); 730 SetGLError(GL_INVALID_ENUM);
731 return parse_error::kParseNoError; 731 return parse_error::kParseNoError;
732 } 732 }
733 glGenerateMipmapEXT(target); 733 glGenerateMipmapEXT(target);
734 return parse_error::kParseNoError; 734 return parse_error::kParseNoError;
735 } 735 }
736 736
737 parse_error::ParseError GLES2DecoderImpl::HandleGenFramebuffers( 737 parse_error::ParseError GLES2DecoderImpl::HandleGenFramebuffers(
738 uint32 immediate_data_size, const gles2::GenFramebuffers& c) { 738 uint32 immediate_data_size, const gles2::GenFramebuffers& c) {
739 GLsizei n = static_cast<GLsizei>(c.n); 739 GLsizei n = static_cast<GLsizei>(c.n);
740 uint32 data_size = n * sizeof(GLuint); 740 uint32 data_size = n * sizeof(GLuint);
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
830 parse_error::ParseError GLES2DecoderImpl::HandleGetBufferParameteriv( 830 parse_error::ParseError GLES2DecoderImpl::HandleGetBufferParameteriv(
831 uint32 immediate_data_size, const gles2::GetBufferParameteriv& c) { 831 uint32 immediate_data_size, const gles2::GetBufferParameteriv& c) {
832 GLenum target = static_cast<GLenum>(c.target); 832 GLenum target = static_cast<GLenum>(c.target);
833 GLenum pname = static_cast<GLenum>(c.pname); 833 GLenum pname = static_cast<GLenum>(c.pname);
834 GLint* params; 834 GLint* params;
835 GLsizei num_values = util_.GLGetNumValuesReturned(pname); 835 GLsizei num_values = util_.GLGetNumValuesReturned(pname);
836 uint32 params_size = num_values * sizeof(*params); 836 uint32 params_size = num_values * sizeof(*params);
837 params = GetSharedMemoryAs<GLint*>( 837 params = GetSharedMemoryAs<GLint*>(
838 c.params_shm_id, c.params_shm_offset, params_size); 838 c.params_shm_id, c.params_shm_offset, params_size);
839 if (!ValidateGLenumBufferTarget(target)) { 839 if (!ValidateGLenumBufferTarget(target)) {
840 SetGLError(GL_INVALID_VALUE); 840 SetGLError(GL_INVALID_ENUM);
841 return parse_error::kParseNoError; 841 return parse_error::kParseNoError;
842 } 842 }
843 if (!ValidateGLenumBufferParameter(pname)) { 843 if (!ValidateGLenumBufferParameter(pname)) {
844 SetGLError(GL_INVALID_VALUE); 844 SetGLError(GL_INVALID_ENUM);
845 return parse_error::kParseNoError; 845 return parse_error::kParseNoError;
846 } 846 }
847 if (params == NULL) { 847 if (params == NULL) {
848 return parse_error::kParseOutOfBounds; 848 return parse_error::kParseOutOfBounds;
849 } 849 }
850 glGetBufferParameteriv(target, pname, params); 850 glGetBufferParameteriv(target, pname, params);
851 return parse_error::kParseNoError; 851 return parse_error::kParseNoError;
852 } 852 }
853 853
854 parse_error::ParseError GLES2DecoderImpl::HandleGetError( 854 parse_error::ParseError GLES2DecoderImpl::HandleGetError(
(...skipping 25 matching lines...) Expand all
880 const gles2::GetFramebufferAttachmentParameteriv& c) { 880 const gles2::GetFramebufferAttachmentParameteriv& c) {
881 GLenum target = static_cast<GLenum>(c.target); 881 GLenum target = static_cast<GLenum>(c.target);
882 GLenum attachment = static_cast<GLenum>(c.attachment); 882 GLenum attachment = static_cast<GLenum>(c.attachment);
883 GLenum pname = static_cast<GLenum>(c.pname); 883 GLenum pname = static_cast<GLenum>(c.pname);
884 GLint* params; 884 GLint* params;
885 GLsizei num_values = util_.GLGetNumValuesReturned(pname); 885 GLsizei num_values = util_.GLGetNumValuesReturned(pname);
886 uint32 params_size = num_values * sizeof(*params); 886 uint32 params_size = num_values * sizeof(*params);
887 params = GetSharedMemoryAs<GLint*>( 887 params = GetSharedMemoryAs<GLint*>(
888 c.params_shm_id, c.params_shm_offset, params_size); 888 c.params_shm_id, c.params_shm_offset, params_size);
889 if (!ValidateGLenumFrameBufferTarget(target)) { 889 if (!ValidateGLenumFrameBufferTarget(target)) {
890 SetGLError(GL_INVALID_VALUE); 890 SetGLError(GL_INVALID_ENUM);
891 return parse_error::kParseNoError; 891 return parse_error::kParseNoError;
892 } 892 }
893 if (!ValidateGLenumAttachment(attachment)) { 893 if (!ValidateGLenumAttachment(attachment)) {
894 SetGLError(GL_INVALID_VALUE); 894 SetGLError(GL_INVALID_ENUM);
895 return parse_error::kParseNoError; 895 return parse_error::kParseNoError;
896 } 896 }
897 if (!ValidateGLenumFrameBufferParameter(pname)) { 897 if (!ValidateGLenumFrameBufferParameter(pname)) {
898 SetGLError(GL_INVALID_VALUE); 898 SetGLError(GL_INVALID_ENUM);
899 return parse_error::kParseNoError; 899 return parse_error::kParseNoError;
900 } 900 }
901 if (params == NULL) { 901 if (params == NULL) {
902 return parse_error::kParseOutOfBounds; 902 return parse_error::kParseOutOfBounds;
903 } 903 }
904 glGetFramebufferAttachmentParameterivEXT(target, attachment, pname, params); 904 glGetFramebufferAttachmentParameterivEXT(target, attachment, pname, params);
905 return parse_error::kParseNoError; 905 return parse_error::kParseNoError;
906 } 906 }
907 907
908 parse_error::ParseError GLES2DecoderImpl::HandleGetIntegerv( 908 parse_error::ParseError GLES2DecoderImpl::HandleGetIntegerv(
(...skipping 18 matching lines...) Expand all
927 SetGLError(GL_INVALID_VALUE); 927 SetGLError(GL_INVALID_VALUE);
928 return parse_error::kParseNoError; 928 return parse_error::kParseNoError;
929 } 929 }
930 GLenum pname = static_cast<GLenum>(c.pname); 930 GLenum pname = static_cast<GLenum>(c.pname);
931 GLint* params; 931 GLint* params;
932 GLsizei num_values = util_.GLGetNumValuesReturned(pname); 932 GLsizei num_values = util_.GLGetNumValuesReturned(pname);
933 uint32 params_size = num_values * sizeof(*params); 933 uint32 params_size = num_values * sizeof(*params);
934 params = GetSharedMemoryAs<GLint*>( 934 params = GetSharedMemoryAs<GLint*>(
935 c.params_shm_id, c.params_shm_offset, params_size); 935 c.params_shm_id, c.params_shm_offset, params_size);
936 if (!ValidateGLenumProgramParameter(pname)) { 936 if (!ValidateGLenumProgramParameter(pname)) {
937 SetGLError(GL_INVALID_VALUE); 937 SetGLError(GL_INVALID_ENUM);
938 return parse_error::kParseNoError; 938 return parse_error::kParseNoError;
939 } 939 }
940 if (params == NULL) { 940 if (params == NULL) {
941 return parse_error::kParseOutOfBounds; 941 return parse_error::kParseOutOfBounds;
942 } 942 }
943 glGetProgramiv(program, pname, params); 943 glGetProgramiv(program, pname, params);
944 return parse_error::kParseNoError; 944 return parse_error::kParseNoError;
945 } 945 }
946 946
947 parse_error::ParseError GLES2DecoderImpl::HandleGetProgramInfoLog( 947 parse_error::ParseError GLES2DecoderImpl::HandleGetProgramInfoLog(
(...skipping 26 matching lines...) Expand all
974 parse_error::ParseError GLES2DecoderImpl::HandleGetRenderbufferParameteriv( 974 parse_error::ParseError GLES2DecoderImpl::HandleGetRenderbufferParameteriv(
975 uint32 immediate_data_size, const gles2::GetRenderbufferParameteriv& c) { 975 uint32 immediate_data_size, const gles2::GetRenderbufferParameteriv& c) {
976 GLenum target = static_cast<GLenum>(c.target); 976 GLenum target = static_cast<GLenum>(c.target);
977 GLenum pname = static_cast<GLenum>(c.pname); 977 GLenum pname = static_cast<GLenum>(c.pname);
978 GLint* params; 978 GLint* params;
979 GLsizei num_values = util_.GLGetNumValuesReturned(pname); 979 GLsizei num_values = util_.GLGetNumValuesReturned(pname);
980 uint32 params_size = num_values * sizeof(*params); 980 uint32 params_size = num_values * sizeof(*params);
981 params = GetSharedMemoryAs<GLint*>( 981 params = GetSharedMemoryAs<GLint*>(
982 c.params_shm_id, c.params_shm_offset, params_size); 982 c.params_shm_id, c.params_shm_offset, params_size);
983 if (!ValidateGLenumRenderBufferTarget(target)) { 983 if (!ValidateGLenumRenderBufferTarget(target)) {
984 SetGLError(GL_INVALID_VALUE); 984 SetGLError(GL_INVALID_ENUM);
985 return parse_error::kParseNoError; 985 return parse_error::kParseNoError;
986 } 986 }
987 if (!ValidateGLenumRenderBufferParameter(pname)) { 987 if (!ValidateGLenumRenderBufferParameter(pname)) {
988 SetGLError(GL_INVALID_VALUE); 988 SetGLError(GL_INVALID_ENUM);
989 return parse_error::kParseNoError; 989 return parse_error::kParseNoError;
990 } 990 }
991 if (params == NULL) { 991 if (params == NULL) {
992 return parse_error::kParseOutOfBounds; 992 return parse_error::kParseOutOfBounds;
993 } 993 }
994 glGetRenderbufferParameterivEXT(target, pname, params); 994 glGetRenderbufferParameterivEXT(target, pname, params);
995 return parse_error::kParseNoError; 995 return parse_error::kParseNoError;
996 } 996 }
997 997
998 parse_error::ParseError GLES2DecoderImpl::HandleGetShaderiv( 998 parse_error::ParseError GLES2DecoderImpl::HandleGetShaderiv(
999 uint32 immediate_data_size, const gles2::GetShaderiv& c) { 999 uint32 immediate_data_size, const gles2::GetShaderiv& c) {
1000 GLuint shader; 1000 GLuint shader;
1001 if (!id_map_.GetServiceId(c.shader, &shader)) { 1001 if (!id_map_.GetServiceId(c.shader, &shader)) {
1002 SetGLError(GL_INVALID_VALUE); 1002 SetGLError(GL_INVALID_VALUE);
1003 return parse_error::kParseNoError; 1003 return parse_error::kParseNoError;
1004 } 1004 }
1005 GLenum pname = static_cast<GLenum>(c.pname); 1005 GLenum pname = static_cast<GLenum>(c.pname);
1006 GLint* params; 1006 GLint* params;
1007 GLsizei num_values = util_.GLGetNumValuesReturned(pname); 1007 GLsizei num_values = util_.GLGetNumValuesReturned(pname);
1008 uint32 params_size = num_values * sizeof(*params); 1008 uint32 params_size = num_values * sizeof(*params);
1009 params = GetSharedMemoryAs<GLint*>( 1009 params = GetSharedMemoryAs<GLint*>(
1010 c.params_shm_id, c.params_shm_offset, params_size); 1010 c.params_shm_id, c.params_shm_offset, params_size);
1011 if (!ValidateGLenumShaderParameter(pname)) { 1011 if (!ValidateGLenumShaderParameter(pname)) {
1012 SetGLError(GL_INVALID_VALUE); 1012 SetGLError(GL_INVALID_ENUM);
1013 return parse_error::kParseNoError; 1013 return parse_error::kParseNoError;
1014 } 1014 }
1015 if (params == NULL) { 1015 if (params == NULL) {
1016 return parse_error::kParseOutOfBounds; 1016 return parse_error::kParseOutOfBounds;
1017 } 1017 }
1018 glGetShaderiv(shader, pname, params); 1018 glGetShaderiv(shader, pname, params);
1019 return parse_error::kParseNoError; 1019 return parse_error::kParseNoError;
1020 } 1020 }
1021 1021
1022 parse_error::ParseError GLES2DecoderImpl::HandleGetShaderInfoLog( 1022 parse_error::ParseError GLES2DecoderImpl::HandleGetShaderInfoLog(
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
1070 return parse_error::kParseOutOfBounds; 1070 return parse_error::kParseOutOfBounds;
1071 } 1071 }
1072 glGetShaderSource(shader, bufsize, length, source); 1072 glGetShaderSource(shader, bufsize, length, source);
1073 return parse_error::kParseNoError; 1073 return parse_error::kParseNoError;
1074 } 1074 }
1075 1075
1076 parse_error::ParseError GLES2DecoderImpl::HandleGetString( 1076 parse_error::ParseError GLES2DecoderImpl::HandleGetString(
1077 uint32 immediate_data_size, const gles2::GetString& c) { 1077 uint32 immediate_data_size, const gles2::GetString& c) {
1078 GLenum name = static_cast<GLenum>(c.name); 1078 GLenum name = static_cast<GLenum>(c.name);
1079 if (!ValidateGLenumStringType(name)) { 1079 if (!ValidateGLenumStringType(name)) {
1080 SetGLError(GL_INVALID_VALUE); 1080 SetGLError(GL_INVALID_ENUM);
1081 return parse_error::kParseNoError; 1081 return parse_error::kParseNoError;
1082 } 1082 }
1083 glGetString(name); 1083 glGetString(name);
1084 return parse_error::kParseNoError; 1084 return parse_error::kParseNoError;
1085 } 1085 }
1086 1086
1087 parse_error::ParseError GLES2DecoderImpl::HandleGetTexParameterfv( 1087 parse_error::ParseError GLES2DecoderImpl::HandleGetTexParameterfv(
1088 uint32 immediate_data_size, const gles2::GetTexParameterfv& c) { 1088 uint32 immediate_data_size, const gles2::GetTexParameterfv& c) {
1089 GLenum target = static_cast<GLenum>(c.target); 1089 GLenum target = static_cast<GLenum>(c.target);
1090 GLenum pname = static_cast<GLenum>(c.pname); 1090 GLenum pname = static_cast<GLenum>(c.pname);
1091 GLfloat* params; 1091 GLfloat* params;
1092 GLsizei num_values = util_.GLGetNumValuesReturned(pname); 1092 GLsizei num_values = util_.GLGetNumValuesReturned(pname);
1093 uint32 params_size = num_values * sizeof(*params); 1093 uint32 params_size = num_values * sizeof(*params);
1094 params = GetSharedMemoryAs<GLfloat*>( 1094 params = GetSharedMemoryAs<GLfloat*>(
1095 c.params_shm_id, c.params_shm_offset, params_size); 1095 c.params_shm_id, c.params_shm_offset, params_size);
1096 if (!ValidateGLenumTextureTarget(target)) { 1096 if (!ValidateGLenumTextureTarget(target)) {
1097 SetGLError(GL_INVALID_VALUE); 1097 SetGLError(GL_INVALID_ENUM);
1098 return parse_error::kParseNoError; 1098 return parse_error::kParseNoError;
1099 } 1099 }
1100 if (!ValidateGLenumTextureParameter(pname)) { 1100 if (!ValidateGLenumTextureParameter(pname)) {
1101 SetGLError(GL_INVALID_VALUE); 1101 SetGLError(GL_INVALID_ENUM);
1102 return parse_error::kParseNoError; 1102 return parse_error::kParseNoError;
1103 } 1103 }
1104 if (params == NULL) { 1104 if (params == NULL) {
1105 return parse_error::kParseOutOfBounds; 1105 return parse_error::kParseOutOfBounds;
1106 } 1106 }
1107 glGetTexParameterfv(target, pname, params); 1107 glGetTexParameterfv(target, pname, params);
1108 return parse_error::kParseNoError; 1108 return parse_error::kParseNoError;
1109 } 1109 }
1110 1110
1111 parse_error::ParseError GLES2DecoderImpl::HandleGetTexParameteriv( 1111 parse_error::ParseError GLES2DecoderImpl::HandleGetTexParameteriv(
1112 uint32 immediate_data_size, const gles2::GetTexParameteriv& c) { 1112 uint32 immediate_data_size, const gles2::GetTexParameteriv& c) {
1113 GLenum target = static_cast<GLenum>(c.target); 1113 GLenum target = static_cast<GLenum>(c.target);
1114 GLenum pname = static_cast<GLenum>(c.pname); 1114 GLenum pname = static_cast<GLenum>(c.pname);
1115 GLint* params; 1115 GLint* params;
1116 GLsizei num_values = util_.GLGetNumValuesReturned(pname); 1116 GLsizei num_values = util_.GLGetNumValuesReturned(pname);
1117 uint32 params_size = num_values * sizeof(*params); 1117 uint32 params_size = num_values * sizeof(*params);
1118 params = GetSharedMemoryAs<GLint*>( 1118 params = GetSharedMemoryAs<GLint*>(
1119 c.params_shm_id, c.params_shm_offset, params_size); 1119 c.params_shm_id, c.params_shm_offset, params_size);
1120 if (!ValidateGLenumTextureTarget(target)) { 1120 if (!ValidateGLenumTextureTarget(target)) {
1121 SetGLError(GL_INVALID_VALUE); 1121 SetGLError(GL_INVALID_ENUM);
1122 return parse_error::kParseNoError; 1122 return parse_error::kParseNoError;
1123 } 1123 }
1124 if (!ValidateGLenumTextureParameter(pname)) { 1124 if (!ValidateGLenumTextureParameter(pname)) {
1125 SetGLError(GL_INVALID_VALUE); 1125 SetGLError(GL_INVALID_ENUM);
1126 return parse_error::kParseNoError; 1126 return parse_error::kParseNoError;
1127 } 1127 }
1128 if (params == NULL) { 1128 if (params == NULL) {
1129 return parse_error::kParseOutOfBounds; 1129 return parse_error::kParseOutOfBounds;
1130 } 1130 }
1131 glGetTexParameteriv(target, pname, params); 1131 glGetTexParameteriv(target, pname, params);
1132 return parse_error::kParseNoError; 1132 return parse_error::kParseNoError;
1133 } 1133 }
1134 1134
1135 parse_error::ParseError GLES2DecoderImpl::HandleGetVertexAttribfv( 1135 parse_error::ParseError GLES2DecoderImpl::HandleGetVertexAttribfv(
1136 uint32 immediate_data_size, const gles2::GetVertexAttribfv& c) { 1136 uint32 immediate_data_size, const gles2::GetVertexAttribfv& c) {
1137 GLuint index = static_cast<GLuint>(c.index); 1137 GLuint index = static_cast<GLuint>(c.index);
1138 GLenum pname = static_cast<GLenum>(c.pname); 1138 GLenum pname = static_cast<GLenum>(c.pname);
1139 GLfloat* params; 1139 GLfloat* params;
1140 GLsizei num_values = util_.GLGetNumValuesReturned(pname); 1140 GLsizei num_values = util_.GLGetNumValuesReturned(pname);
1141 uint32 params_size = num_values * sizeof(*params); 1141 uint32 params_size = num_values * sizeof(*params);
1142 params = GetSharedMemoryAs<GLfloat*>( 1142 params = GetSharedMemoryAs<GLfloat*>(
1143 c.params_shm_id, c.params_shm_offset, params_size); 1143 c.params_shm_id, c.params_shm_offset, params_size);
1144 if (!ValidateGLenumVertexAttribute(pname)) { 1144 if (!ValidateGLenumVertexAttribute(pname)) {
1145 SetGLError(GL_INVALID_VALUE); 1145 SetGLError(GL_INVALID_ENUM);
1146 return parse_error::kParseNoError; 1146 return parse_error::kParseNoError;
1147 } 1147 }
1148 if (params == NULL) { 1148 if (params == NULL) {
1149 return parse_error::kParseOutOfBounds; 1149 return parse_error::kParseOutOfBounds;
1150 } 1150 }
1151 glGetVertexAttribfv(index, pname, params); 1151 glGetVertexAttribfv(index, pname, params);
1152 return parse_error::kParseNoError; 1152 return parse_error::kParseNoError;
1153 } 1153 }
1154 1154
1155 parse_error::ParseError GLES2DecoderImpl::HandleGetVertexAttribiv( 1155 parse_error::ParseError GLES2DecoderImpl::HandleGetVertexAttribiv(
1156 uint32 immediate_data_size, const gles2::GetVertexAttribiv& c) { 1156 uint32 immediate_data_size, const gles2::GetVertexAttribiv& c) {
1157 GLuint index = static_cast<GLuint>(c.index); 1157 GLuint index = static_cast<GLuint>(c.index);
1158 GLenum pname = static_cast<GLenum>(c.pname); 1158 GLenum pname = static_cast<GLenum>(c.pname);
1159 GLint* params; 1159 GLint* params;
1160 GLsizei num_values = util_.GLGetNumValuesReturned(pname); 1160 GLsizei num_values = util_.GLGetNumValuesReturned(pname);
1161 uint32 params_size = num_values * sizeof(*params); 1161 uint32 params_size = num_values * sizeof(*params);
1162 params = GetSharedMemoryAs<GLint*>( 1162 params = GetSharedMemoryAs<GLint*>(
1163 c.params_shm_id, c.params_shm_offset, params_size); 1163 c.params_shm_id, c.params_shm_offset, params_size);
1164 if (!ValidateGLenumVertexAttribute(pname)) { 1164 if (!ValidateGLenumVertexAttribute(pname)) {
1165 SetGLError(GL_INVALID_VALUE); 1165 SetGLError(GL_INVALID_ENUM);
1166 return parse_error::kParseNoError; 1166 return parse_error::kParseNoError;
1167 } 1167 }
1168 if (params == NULL) { 1168 if (params == NULL) {
1169 return parse_error::kParseOutOfBounds; 1169 return parse_error::kParseOutOfBounds;
1170 } 1170 }
1171 glGetVertexAttribiv(index, pname, params); 1171 glGetVertexAttribiv(index, pname, params);
1172 return parse_error::kParseNoError; 1172 return parse_error::kParseNoError;
1173 } 1173 }
1174 1174
1175 parse_error::ParseError GLES2DecoderImpl::HandleHint( 1175 parse_error::ParseError GLES2DecoderImpl::HandleHint(
1176 uint32 immediate_data_size, const gles2::Hint& c) { 1176 uint32 immediate_data_size, const gles2::Hint& c) {
1177 GLenum target = static_cast<GLenum>(c.target); 1177 GLenum target = static_cast<GLenum>(c.target);
1178 GLenum mode = static_cast<GLenum>(c.mode); 1178 GLenum mode = static_cast<GLenum>(c.mode);
1179 if (!ValidateGLenumHintTarget(target)) { 1179 if (!ValidateGLenumHintTarget(target)) {
1180 SetGLError(GL_INVALID_VALUE); 1180 SetGLError(GL_INVALID_ENUM);
1181 return parse_error::kParseNoError; 1181 return parse_error::kParseNoError;
1182 } 1182 }
1183 if (!ValidateGLenumHintMode(mode)) { 1183 if (!ValidateGLenumHintMode(mode)) {
1184 SetGLError(GL_INVALID_VALUE); 1184 SetGLError(GL_INVALID_ENUM);
1185 return parse_error::kParseNoError; 1185 return parse_error::kParseNoError;
1186 } 1186 }
1187 glHint(target, mode); 1187 glHint(target, mode);
1188 return parse_error::kParseNoError; 1188 return parse_error::kParseNoError;
1189 } 1189 }
1190 1190
1191 parse_error::ParseError GLES2DecoderImpl::HandleIsBuffer( 1191 parse_error::ParseError GLES2DecoderImpl::HandleIsBuffer(
1192 uint32 immediate_data_size, const gles2::IsBuffer& c) { 1192 uint32 immediate_data_size, const gles2::IsBuffer& c) {
1193 GLuint buffer; 1193 GLuint buffer;
1194 if (!id_map_.GetServiceId(c.buffer, &buffer)) { 1194 if (!id_map_.GetServiceId(c.buffer, &buffer)) {
1195 SetGLError(GL_INVALID_VALUE); 1195 SetGLError(GL_INVALID_VALUE);
1196 return parse_error::kParseNoError; 1196 return parse_error::kParseNoError;
1197 } 1197 }
1198 GLboolean* result_dst = GetSharedMemoryAs<GLboolean*>( 1198 GLboolean* result_dst = GetSharedMemoryAs<GLboolean*>(
1199 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst)); 1199 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst));
1200 *result_dst = glIsBuffer(buffer); 1200 *result_dst = glIsBuffer(buffer);
1201 return parse_error::kParseNoError; 1201 return parse_error::kParseNoError;
1202 } 1202 }
1203 1203
1204 parse_error::ParseError GLES2DecoderImpl::HandleIsEnabled( 1204 parse_error::ParseError GLES2DecoderImpl::HandleIsEnabled(
1205 uint32 immediate_data_size, const gles2::IsEnabled& c) { 1205 uint32 immediate_data_size, const gles2::IsEnabled& c) {
1206 GLenum cap = static_cast<GLenum>(c.cap); 1206 GLenum cap = static_cast<GLenum>(c.cap);
1207 GLboolean* result_dst = GetSharedMemoryAs<GLboolean*>( 1207 GLboolean* result_dst = GetSharedMemoryAs<GLboolean*>(
1208 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst)); 1208 c.result_shm_id, c.result_shm_offset, sizeof(*result_dst));
1209 if (!ValidateGLenumCapability(cap)) { 1209 if (!ValidateGLenumCapability(cap)) {
1210 SetGLError(GL_INVALID_VALUE); 1210 SetGLError(GL_INVALID_ENUM);
1211 return parse_error::kParseNoError; 1211 return parse_error::kParseNoError;
1212 } 1212 }
1213 *result_dst = glIsEnabled(cap); 1213 *result_dst = glIsEnabled(cap);
1214 return parse_error::kParseNoError; 1214 return parse_error::kParseNoError;
1215 } 1215 }
1216 1216
1217 parse_error::ParseError GLES2DecoderImpl::HandleIsFramebuffer( 1217 parse_error::ParseError GLES2DecoderImpl::HandleIsFramebuffer(
1218 uint32 immediate_data_size, const gles2::IsFramebuffer& c) { 1218 uint32 immediate_data_size, const gles2::IsFramebuffer& c) {
1219 GLuint framebuffer; 1219 GLuint framebuffer;
1220 if (!id_map_.GetServiceId(c.framebuffer, &framebuffer)) { 1220 if (!id_map_.GetServiceId(c.framebuffer, &framebuffer)) {
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
1305 return parse_error::kParseNoError; 1305 return parse_error::kParseNoError;
1306 } 1306 }
1307 1307
1308 parse_error::ParseError GLES2DecoderImpl::HandleRenderbufferStorage( 1308 parse_error::ParseError GLES2DecoderImpl::HandleRenderbufferStorage(
1309 uint32 immediate_data_size, const gles2::RenderbufferStorage& c) { 1309 uint32 immediate_data_size, const gles2::RenderbufferStorage& c) {
1310 GLenum target = static_cast<GLenum>(c.target); 1310 GLenum target = static_cast<GLenum>(c.target);
1311 GLenum internalformat = static_cast<GLenum>(c.internalformat); 1311 GLenum internalformat = static_cast<GLenum>(c.internalformat);
1312 GLsizei width = static_cast<GLsizei>(c.width); 1312 GLsizei width = static_cast<GLsizei>(c.width);
1313 GLsizei height = static_cast<GLsizei>(c.height); 1313 GLsizei height = static_cast<GLsizei>(c.height);
1314 if (!ValidateGLenumRenderBufferTarget(target)) { 1314 if (!ValidateGLenumRenderBufferTarget(target)) {
1315 SetGLError(GL_INVALID_VALUE); 1315 SetGLError(GL_INVALID_ENUM);
1316 return parse_error::kParseNoError; 1316 return parse_error::kParseNoError;
1317 } 1317 }
1318 if (!ValidateGLenumRenderBufferFormat(internalformat)) { 1318 if (!ValidateGLenumRenderBufferFormat(internalformat)) {
1319 SetGLError(GL_INVALID_VALUE); 1319 SetGLError(GL_INVALID_ENUM);
1320 return parse_error::kParseNoError; 1320 return parse_error::kParseNoError;
1321 } 1321 }
1322 glRenderbufferStorageEXT(target, internalformat, width, height); 1322 glRenderbufferStorageEXT(target, internalformat, width, height);
1323 return parse_error::kParseNoError; 1323 return parse_error::kParseNoError;
1324 } 1324 }
1325 1325
1326 parse_error::ParseError GLES2DecoderImpl::HandleSampleCoverage( 1326 parse_error::ParseError GLES2DecoderImpl::HandleSampleCoverage(
1327 uint32 immediate_data_size, const gles2::SampleCoverage& c) { 1327 uint32 immediate_data_size, const gles2::SampleCoverage& c) {
1328 GLclampf value = static_cast<GLclampf>(c.value); 1328 GLclampf value = static_cast<GLclampf>(c.value);
1329 GLboolean invert = static_cast<GLboolean>(c.invert); 1329 GLboolean invert = static_cast<GLboolean>(c.invert);
(...skipping 10 matching lines...) Expand all
1340 glScissor(x, y, width, height); 1340 glScissor(x, y, width, height);
1341 return parse_error::kParseNoError; 1341 return parse_error::kParseNoError;
1342 } 1342 }
1343 1343
1344 parse_error::ParseError GLES2DecoderImpl::HandleStencilFunc( 1344 parse_error::ParseError GLES2DecoderImpl::HandleStencilFunc(
1345 uint32 immediate_data_size, const gles2::StencilFunc& c) { 1345 uint32 immediate_data_size, const gles2::StencilFunc& c) {
1346 GLenum func = static_cast<GLenum>(c.func); 1346 GLenum func = static_cast<GLenum>(c.func);
1347 GLint ref = static_cast<GLint>(c.ref); 1347 GLint ref = static_cast<GLint>(c.ref);
1348 GLuint mask = static_cast<GLuint>(c.mask); 1348 GLuint mask = static_cast<GLuint>(c.mask);
1349 if (!ValidateGLenumCmpFunction(func)) { 1349 if (!ValidateGLenumCmpFunction(func)) {
1350 SetGLError(GL_INVALID_VALUE); 1350 SetGLError(GL_INVALID_ENUM);
1351 return parse_error::kParseNoError; 1351 return parse_error::kParseNoError;
1352 } 1352 }
1353 glStencilFunc(func, ref, mask); 1353 glStencilFunc(func, ref, mask);
1354 return parse_error::kParseNoError; 1354 return parse_error::kParseNoError;
1355 } 1355 }
1356 1356
1357 parse_error::ParseError GLES2DecoderImpl::HandleStencilFuncSeparate( 1357 parse_error::ParseError GLES2DecoderImpl::HandleStencilFuncSeparate(
1358 uint32 immediate_data_size, const gles2::StencilFuncSeparate& c) { 1358 uint32 immediate_data_size, const gles2::StencilFuncSeparate& c) {
1359 GLenum face = static_cast<GLenum>(c.face); 1359 GLenum face = static_cast<GLenum>(c.face);
1360 GLenum func = static_cast<GLenum>(c.func); 1360 GLenum func = static_cast<GLenum>(c.func);
1361 GLint ref = static_cast<GLint>(c.ref); 1361 GLint ref = static_cast<GLint>(c.ref);
1362 GLuint mask = static_cast<GLuint>(c.mask); 1362 GLuint mask = static_cast<GLuint>(c.mask);
1363 if (!ValidateGLenumFaceType(face)) { 1363 if (!ValidateGLenumFaceType(face)) {
1364 SetGLError(GL_INVALID_VALUE); 1364 SetGLError(GL_INVALID_ENUM);
1365 return parse_error::kParseNoError; 1365 return parse_error::kParseNoError;
1366 } 1366 }
1367 if (!ValidateGLenumCmpFunction(func)) { 1367 if (!ValidateGLenumCmpFunction(func)) {
1368 SetGLError(GL_INVALID_VALUE); 1368 SetGLError(GL_INVALID_ENUM);
1369 return parse_error::kParseNoError; 1369 return parse_error::kParseNoError;
1370 } 1370 }
1371 glStencilFuncSeparate(face, func, ref, mask); 1371 glStencilFuncSeparate(face, func, ref, mask);
1372 return parse_error::kParseNoError; 1372 return parse_error::kParseNoError;
1373 } 1373 }
1374 1374
1375 parse_error::ParseError GLES2DecoderImpl::HandleStencilMask( 1375 parse_error::ParseError GLES2DecoderImpl::HandleStencilMask(
1376 uint32 immediate_data_size, const gles2::StencilMask& c) { 1376 uint32 immediate_data_size, const gles2::StencilMask& c) {
1377 GLuint mask = static_cast<GLuint>(c.mask); 1377 GLuint mask = static_cast<GLuint>(c.mask);
1378 glStencilMask(mask); 1378 glStencilMask(mask);
1379 return parse_error::kParseNoError; 1379 return parse_error::kParseNoError;
1380 } 1380 }
1381 1381
1382 parse_error::ParseError GLES2DecoderImpl::HandleStencilMaskSeparate( 1382 parse_error::ParseError GLES2DecoderImpl::HandleStencilMaskSeparate(
1383 uint32 immediate_data_size, const gles2::StencilMaskSeparate& c) { 1383 uint32 immediate_data_size, const gles2::StencilMaskSeparate& c) {
1384 GLenum face = static_cast<GLenum>(c.face); 1384 GLenum face = static_cast<GLenum>(c.face);
1385 GLuint mask = static_cast<GLuint>(c.mask); 1385 GLuint mask = static_cast<GLuint>(c.mask);
1386 if (!ValidateGLenumFaceType(face)) { 1386 if (!ValidateGLenumFaceType(face)) {
1387 SetGLError(GL_INVALID_VALUE); 1387 SetGLError(GL_INVALID_ENUM);
1388 return parse_error::kParseNoError; 1388 return parse_error::kParseNoError;
1389 } 1389 }
1390 glStencilMaskSeparate(face, mask); 1390 glStencilMaskSeparate(face, mask);
1391 return parse_error::kParseNoError; 1391 return parse_error::kParseNoError;
1392 } 1392 }
1393 1393
1394 parse_error::ParseError GLES2DecoderImpl::HandleStencilOp( 1394 parse_error::ParseError GLES2DecoderImpl::HandleStencilOp(
1395 uint32 immediate_data_size, const gles2::StencilOp& c) { 1395 uint32 immediate_data_size, const gles2::StencilOp& c) {
1396 GLenum fail = static_cast<GLenum>(c.fail); 1396 GLenum fail = static_cast<GLenum>(c.fail);
1397 GLenum zfail = static_cast<GLenum>(c.zfail); 1397 GLenum zfail = static_cast<GLenum>(c.zfail);
1398 GLenum zpass = static_cast<GLenum>(c.zpass); 1398 GLenum zpass = static_cast<GLenum>(c.zpass);
1399 if (!ValidateGLenumStencilOp(fail)) { 1399 if (!ValidateGLenumStencilOp(fail)) {
1400 SetGLError(GL_INVALID_VALUE); 1400 SetGLError(GL_INVALID_ENUM);
1401 return parse_error::kParseNoError; 1401 return parse_error::kParseNoError;
1402 } 1402 }
1403 if (!ValidateGLenumStencilOp(zfail)) { 1403 if (!ValidateGLenumStencilOp(zfail)) {
1404 SetGLError(GL_INVALID_VALUE); 1404 SetGLError(GL_INVALID_ENUM);
1405 return parse_error::kParseNoError; 1405 return parse_error::kParseNoError;
1406 } 1406 }
1407 if (!ValidateGLenumStencilOp(zpass)) { 1407 if (!ValidateGLenumStencilOp(zpass)) {
1408 SetGLError(GL_INVALID_VALUE); 1408 SetGLError(GL_INVALID_ENUM);
1409 return parse_error::kParseNoError; 1409 return parse_error::kParseNoError;
1410 } 1410 }
1411 glStencilOp(fail, zfail, zpass); 1411 glStencilOp(fail, zfail, zpass);
1412 return parse_error::kParseNoError; 1412 return parse_error::kParseNoError;
1413 } 1413 }
1414 1414
1415 parse_error::ParseError GLES2DecoderImpl::HandleStencilOpSeparate( 1415 parse_error::ParseError GLES2DecoderImpl::HandleStencilOpSeparate(
1416 uint32 immediate_data_size, const gles2::StencilOpSeparate& c) { 1416 uint32 immediate_data_size, const gles2::StencilOpSeparate& c) {
1417 GLenum face = static_cast<GLenum>(c.face); 1417 GLenum face = static_cast<GLenum>(c.face);
1418 GLenum fail = static_cast<GLenum>(c.fail); 1418 GLenum fail = static_cast<GLenum>(c.fail);
1419 GLenum zfail = static_cast<GLenum>(c.zfail); 1419 GLenum zfail = static_cast<GLenum>(c.zfail);
1420 GLenum zpass = static_cast<GLenum>(c.zpass); 1420 GLenum zpass = static_cast<GLenum>(c.zpass);
1421 if (!ValidateGLenumFaceType(face)) { 1421 if (!ValidateGLenumFaceType(face)) {
1422 SetGLError(GL_INVALID_VALUE); 1422 SetGLError(GL_INVALID_ENUM);
1423 return parse_error::kParseNoError; 1423 return parse_error::kParseNoError;
1424 } 1424 }
1425 if (!ValidateGLenumStencilOp(fail)) { 1425 if (!ValidateGLenumStencilOp(fail)) {
1426 SetGLError(GL_INVALID_VALUE); 1426 SetGLError(GL_INVALID_ENUM);
1427 return parse_error::kParseNoError; 1427 return parse_error::kParseNoError;
1428 } 1428 }
1429 if (!ValidateGLenumStencilOp(zfail)) { 1429 if (!ValidateGLenumStencilOp(zfail)) {
1430 SetGLError(GL_INVALID_VALUE); 1430 SetGLError(GL_INVALID_ENUM);
1431 return parse_error::kParseNoError; 1431 return parse_error::kParseNoError;
1432 } 1432 }
1433 if (!ValidateGLenumStencilOp(zpass)) { 1433 if (!ValidateGLenumStencilOp(zpass)) {
1434 SetGLError(GL_INVALID_VALUE); 1434 SetGLError(GL_INVALID_ENUM);
1435 return parse_error::kParseNoError; 1435 return parse_error::kParseNoError;
1436 } 1436 }
1437 glStencilOpSeparate(face, fail, zfail, zpass); 1437 glStencilOpSeparate(face, fail, zfail, zpass);
1438 return parse_error::kParseNoError; 1438 return parse_error::kParseNoError;
1439 } 1439 }
1440 1440
1441 parse_error::ParseError GLES2DecoderImpl::HandleTexParameterf( 1441 parse_error::ParseError GLES2DecoderImpl::HandleTexParameterf(
1442 uint32 immediate_data_size, const gles2::TexParameterf& c) { 1442 uint32 immediate_data_size, const gles2::TexParameterf& c) {
1443 GLenum target = static_cast<GLenum>(c.target); 1443 GLenum target = static_cast<GLenum>(c.target);
1444 GLenum pname = static_cast<GLenum>(c.pname); 1444 GLenum pname = static_cast<GLenum>(c.pname);
1445 GLfloat param = static_cast<GLfloat>(c.param); 1445 GLfloat param = static_cast<GLfloat>(c.param);
1446 if (!ValidateGLenumTextureBindTarget(target)) { 1446 if (!ValidateGLenumTextureBindTarget(target)) {
1447 SetGLError(GL_INVALID_VALUE); 1447 SetGLError(GL_INVALID_ENUM);
1448 return parse_error::kParseNoError; 1448 return parse_error::kParseNoError;
1449 } 1449 }
1450 if (!ValidateGLenumTextureParameter(pname)) { 1450 if (!ValidateGLenumTextureParameter(pname)) {
1451 SetGLError(GL_INVALID_VALUE); 1451 SetGLError(GL_INVALID_ENUM);
1452 return parse_error::kParseNoError; 1452 return parse_error::kParseNoError;
1453 } 1453 }
1454 glTexParameterf(target, pname, param); 1454 glTexParameterf(target, pname, param);
1455 return parse_error::kParseNoError; 1455 return parse_error::kParseNoError;
1456 } 1456 }
1457 1457
1458 parse_error::ParseError GLES2DecoderImpl::HandleTexParameterfv( 1458 parse_error::ParseError GLES2DecoderImpl::HandleTexParameterfv(
1459 uint32 immediate_data_size, const gles2::TexParameterfv& c) { 1459 uint32 immediate_data_size, const gles2::TexParameterfv& c) {
1460 GLenum target = static_cast<GLenum>(c.target); 1460 GLenum target = static_cast<GLenum>(c.target);
1461 GLenum pname = static_cast<GLenum>(c.pname); 1461 GLenum pname = static_cast<GLenum>(c.pname);
1462 uint32 data_size = 1462 uint32 data_size =
1463 ComputeImmediateDataSize(immediate_data_size, 1, sizeof(GLfloat), 1); 1463 ComputeImmediateDataSize(immediate_data_size, 1, sizeof(GLfloat), 1);
1464 const GLfloat* params = GetSharedMemoryAs<const GLfloat*>( 1464 const GLfloat* params = GetSharedMemoryAs<const GLfloat*>(
1465 c.params_shm_id, c.params_shm_offset, data_size); 1465 c.params_shm_id, c.params_shm_offset, data_size);
1466 if (!ValidateGLenumTextureBindTarget(target)) { 1466 if (!ValidateGLenumTextureBindTarget(target)) {
1467 SetGLError(GL_INVALID_VALUE); 1467 SetGLError(GL_INVALID_ENUM);
1468 return parse_error::kParseNoError; 1468 return parse_error::kParseNoError;
1469 } 1469 }
1470 if (!ValidateGLenumTextureParameter(pname)) { 1470 if (!ValidateGLenumTextureParameter(pname)) {
1471 SetGLError(GL_INVALID_VALUE); 1471 SetGLError(GL_INVALID_ENUM);
1472 return parse_error::kParseNoError; 1472 return parse_error::kParseNoError;
1473 } 1473 }
1474 if (params == NULL) { 1474 if (params == NULL) {
1475 return parse_error::kParseOutOfBounds; 1475 return parse_error::kParseOutOfBounds;
1476 } 1476 }
1477 glTexParameterfv(target, pname, params); 1477 glTexParameterfv(target, pname, params);
1478 return parse_error::kParseNoError; 1478 return parse_error::kParseNoError;
1479 } 1479 }
1480 1480
1481 parse_error::ParseError GLES2DecoderImpl::HandleTexParameterfvImmediate( 1481 parse_error::ParseError GLES2DecoderImpl::HandleTexParameterfvImmediate(
1482 uint32 immediate_data_size, const gles2::TexParameterfvImmediate& c) { 1482 uint32 immediate_data_size, const gles2::TexParameterfvImmediate& c) {
1483 GLenum target = static_cast<GLenum>(c.target); 1483 GLenum target = static_cast<GLenum>(c.target);
1484 GLenum pname = static_cast<GLenum>(c.pname); 1484 GLenum pname = static_cast<GLenum>(c.pname);
1485 uint32 data_size = 1485 uint32 data_size =
1486 ComputeImmediateDataSize(immediate_data_size, 1, sizeof(GLfloat), 1); 1486 ComputeImmediateDataSize(immediate_data_size, 1, sizeof(GLfloat), 1);
1487 const GLfloat* params = GetImmediateDataAs<const GLfloat*>( 1487 const GLfloat* params = GetImmediateDataAs<const GLfloat*>(
1488 c, data_size, immediate_data_size); 1488 c, data_size, immediate_data_size);
1489 if (!ValidateGLenumTextureBindTarget(target)) { 1489 if (!ValidateGLenumTextureBindTarget(target)) {
1490 SetGLError(GL_INVALID_VALUE); 1490 SetGLError(GL_INVALID_ENUM);
1491 return parse_error::kParseNoError; 1491 return parse_error::kParseNoError;
1492 } 1492 }
1493 if (!ValidateGLenumTextureParameter(pname)) { 1493 if (!ValidateGLenumTextureParameter(pname)) {
1494 SetGLError(GL_INVALID_VALUE); 1494 SetGLError(GL_INVALID_ENUM);
1495 return parse_error::kParseNoError; 1495 return parse_error::kParseNoError;
1496 } 1496 }
1497 if (params == NULL) { 1497 if (params == NULL) {
1498 return parse_error::kParseOutOfBounds; 1498 return parse_error::kParseOutOfBounds;
1499 } 1499 }
1500 glTexParameterfv(target, pname, params); 1500 glTexParameterfv(target, pname, params);
1501 return parse_error::kParseNoError; 1501 return parse_error::kParseNoError;
1502 } 1502 }
1503 1503
1504 parse_error::ParseError GLES2DecoderImpl::HandleTexParameteri( 1504 parse_error::ParseError GLES2DecoderImpl::HandleTexParameteri(
1505 uint32 immediate_data_size, const gles2::TexParameteri& c) { 1505 uint32 immediate_data_size, const gles2::TexParameteri& c) {
1506 GLenum target = static_cast<GLenum>(c.target); 1506 GLenum target = static_cast<GLenum>(c.target);
1507 GLenum pname = static_cast<GLenum>(c.pname); 1507 GLenum pname = static_cast<GLenum>(c.pname);
1508 GLint param = static_cast<GLint>(c.param); 1508 GLint param = static_cast<GLint>(c.param);
1509 if (!ValidateGLenumTextureBindTarget(target)) { 1509 if (!ValidateGLenumTextureBindTarget(target)) {
1510 SetGLError(GL_INVALID_VALUE); 1510 SetGLError(GL_INVALID_ENUM);
1511 return parse_error::kParseNoError; 1511 return parse_error::kParseNoError;
1512 } 1512 }
1513 if (!ValidateGLenumTextureParameter(pname)) { 1513 if (!ValidateGLenumTextureParameter(pname)) {
1514 SetGLError(GL_INVALID_VALUE); 1514 SetGLError(GL_INVALID_ENUM);
1515 return parse_error::kParseNoError; 1515 return parse_error::kParseNoError;
1516 } 1516 }
1517 glTexParameteri(target, pname, param); 1517 glTexParameteri(target, pname, param);
1518 return parse_error::kParseNoError; 1518 return parse_error::kParseNoError;
1519 } 1519 }
1520 1520
1521 parse_error::ParseError GLES2DecoderImpl::HandleTexParameteriv( 1521 parse_error::ParseError GLES2DecoderImpl::HandleTexParameteriv(
1522 uint32 immediate_data_size, const gles2::TexParameteriv& c) { 1522 uint32 immediate_data_size, const gles2::TexParameteriv& c) {
1523 GLenum target = static_cast<GLenum>(c.target); 1523 GLenum target = static_cast<GLenum>(c.target);
1524 GLenum pname = static_cast<GLenum>(c.pname); 1524 GLenum pname = static_cast<GLenum>(c.pname);
1525 uint32 data_size = 1525 uint32 data_size =
1526 ComputeImmediateDataSize(immediate_data_size, 1, sizeof(GLint), 1); 1526 ComputeImmediateDataSize(immediate_data_size, 1, sizeof(GLint), 1);
1527 const GLint* params = GetSharedMemoryAs<const GLint*>( 1527 const GLint* params = GetSharedMemoryAs<const GLint*>(
1528 c.params_shm_id, c.params_shm_offset, data_size); 1528 c.params_shm_id, c.params_shm_offset, data_size);
1529 if (!ValidateGLenumTextureBindTarget(target)) { 1529 if (!ValidateGLenumTextureBindTarget(target)) {
1530 SetGLError(GL_INVALID_VALUE); 1530 SetGLError(GL_INVALID_ENUM);
1531 return parse_error::kParseNoError; 1531 return parse_error::kParseNoError;
1532 } 1532 }
1533 if (!ValidateGLenumTextureParameter(pname)) { 1533 if (!ValidateGLenumTextureParameter(pname)) {
1534 SetGLError(GL_INVALID_VALUE); 1534 SetGLError(GL_INVALID_ENUM);
1535 return parse_error::kParseNoError; 1535 return parse_error::kParseNoError;
1536 } 1536 }
1537 if (params == NULL) { 1537 if (params == NULL) {
1538 return parse_error::kParseOutOfBounds; 1538 return parse_error::kParseOutOfBounds;
1539 } 1539 }
1540 glTexParameteriv(target, pname, params); 1540 glTexParameteriv(target, pname, params);
1541 return parse_error::kParseNoError; 1541 return parse_error::kParseNoError;
1542 } 1542 }
1543 1543
1544 parse_error::ParseError GLES2DecoderImpl::HandleTexParameterivImmediate( 1544 parse_error::ParseError GLES2DecoderImpl::HandleTexParameterivImmediate(
1545 uint32 immediate_data_size, const gles2::TexParameterivImmediate& c) { 1545 uint32 immediate_data_size, const gles2::TexParameterivImmediate& c) {
1546 GLenum target = static_cast<GLenum>(c.target); 1546 GLenum target = static_cast<GLenum>(c.target);
1547 GLenum pname = static_cast<GLenum>(c.pname); 1547 GLenum pname = static_cast<GLenum>(c.pname);
1548 uint32 data_size = 1548 uint32 data_size =
1549 ComputeImmediateDataSize(immediate_data_size, 1, sizeof(GLint), 1); 1549 ComputeImmediateDataSize(immediate_data_size, 1, sizeof(GLint), 1);
1550 const GLint* params = GetImmediateDataAs<const GLint*>( 1550 const GLint* params = GetImmediateDataAs<const GLint*>(
1551 c, data_size, immediate_data_size); 1551 c, data_size, immediate_data_size);
1552 if (!ValidateGLenumTextureBindTarget(target)) { 1552 if (!ValidateGLenumTextureBindTarget(target)) {
1553 SetGLError(GL_INVALID_VALUE); 1553 SetGLError(GL_INVALID_ENUM);
1554 return parse_error::kParseNoError; 1554 return parse_error::kParseNoError;
1555 } 1555 }
1556 if (!ValidateGLenumTextureParameter(pname)) { 1556 if (!ValidateGLenumTextureParameter(pname)) {
1557 SetGLError(GL_INVALID_VALUE); 1557 SetGLError(GL_INVALID_ENUM);
1558 return parse_error::kParseNoError; 1558 return parse_error::kParseNoError;
1559 } 1559 }
1560 if (params == NULL) { 1560 if (params == NULL) {
1561 return parse_error::kParseOutOfBounds; 1561 return parse_error::kParseOutOfBounds;
1562 } 1562 }
1563 glTexParameteriv(target, pname, params); 1563 glTexParameteriv(target, pname, params);
1564 return parse_error::kParseNoError; 1564 return parse_error::kParseNoError;
1565 } 1565 }
1566 1566
1567 parse_error::ParseError GLES2DecoderImpl::HandleTexSubImage2D( 1567 parse_error::ParseError GLES2DecoderImpl::HandleTexSubImage2D(
1568 uint32 immediate_data_size, const gles2::TexSubImage2D& c) { 1568 uint32 immediate_data_size, const gles2::TexSubImage2D& c) {
1569 GLenum target = static_cast<GLenum>(c.target); 1569 GLenum target = static_cast<GLenum>(c.target);
1570 GLint level = static_cast<GLint>(c.level); 1570 GLint level = static_cast<GLint>(c.level);
1571 GLint xoffset = static_cast<GLint>(c.xoffset); 1571 GLint xoffset = static_cast<GLint>(c.xoffset);
1572 GLint yoffset = static_cast<GLint>(c.yoffset); 1572 GLint yoffset = static_cast<GLint>(c.yoffset);
1573 GLsizei width = static_cast<GLsizei>(c.width); 1573 GLsizei width = static_cast<GLsizei>(c.width);
1574 GLsizei height = static_cast<GLsizei>(c.height); 1574 GLsizei height = static_cast<GLsizei>(c.height);
1575 GLenum format = static_cast<GLenum>(c.format); 1575 GLenum format = static_cast<GLenum>(c.format);
1576 GLenum type = static_cast<GLenum>(c.type); 1576 GLenum type = static_cast<GLenum>(c.type);
1577 uint32 data_size = GLES2Util::ComputeImageDataSize( 1577 uint32 data_size = GLES2Util::ComputeImageDataSize(
1578 width, height, format, type, unpack_alignment_); 1578 width, height, format, type, unpack_alignment_);
1579 const void* pixels = GetSharedMemoryAs<const void*>( 1579 const void* pixels = GetSharedMemoryAs<const void*>(
1580 c.pixels_shm_id, c.pixels_shm_offset, data_size); 1580 c.pixels_shm_id, c.pixels_shm_offset, data_size);
1581 if (!ValidateGLenumTextureTarget(target)) { 1581 if (!ValidateGLenumTextureTarget(target)) {
1582 SetGLError(GL_INVALID_VALUE); 1582 SetGLError(GL_INVALID_ENUM);
1583 return parse_error::kParseNoError; 1583 return parse_error::kParseNoError;
1584 } 1584 }
1585 if (!ValidateGLenumTextureFormat(format)) { 1585 if (!ValidateGLenumTextureFormat(format)) {
1586 SetGLError(GL_INVALID_VALUE); 1586 SetGLError(GL_INVALID_ENUM);
1587 return parse_error::kParseNoError; 1587 return parse_error::kParseNoError;
1588 } 1588 }
1589 if (!ValidateGLenumPixelType(type)) { 1589 if (!ValidateGLenumPixelType(type)) {
1590 SetGLError(GL_INVALID_VALUE); 1590 SetGLError(GL_INVALID_ENUM);
1591 return parse_error::kParseNoError; 1591 return parse_error::kParseNoError;
1592 } 1592 }
1593 if (pixels == NULL) { 1593 if (pixels == NULL) {
1594 return parse_error::kParseOutOfBounds; 1594 return parse_error::kParseOutOfBounds;
1595 } 1595 }
1596 glTexSubImage2D( 1596 glTexSubImage2D(
1597 target, level, xoffset, yoffset, width, height, format, type, pixels); 1597 target, level, xoffset, yoffset, width, height, format, type, pixels);
1598 return parse_error::kParseNoError; 1598 return parse_error::kParseNoError;
1599 } 1599 }
1600 1600
1601 parse_error::ParseError GLES2DecoderImpl::HandleTexSubImage2DImmediate( 1601 parse_error::ParseError GLES2DecoderImpl::HandleTexSubImage2DImmediate(
1602 uint32 immediate_data_size, const gles2::TexSubImage2DImmediate& c) { 1602 uint32 immediate_data_size, const gles2::TexSubImage2DImmediate& c) {
1603 GLenum target = static_cast<GLenum>(c.target); 1603 GLenum target = static_cast<GLenum>(c.target);
1604 GLint level = static_cast<GLint>(c.level); 1604 GLint level = static_cast<GLint>(c.level);
1605 GLint xoffset = static_cast<GLint>(c.xoffset); 1605 GLint xoffset = static_cast<GLint>(c.xoffset);
1606 GLint yoffset = static_cast<GLint>(c.yoffset); 1606 GLint yoffset = static_cast<GLint>(c.yoffset);
1607 GLsizei width = static_cast<GLsizei>(c.width); 1607 GLsizei width = static_cast<GLsizei>(c.width);
1608 GLsizei height = static_cast<GLsizei>(c.height); 1608 GLsizei height = static_cast<GLsizei>(c.height);
1609 GLenum format = static_cast<GLenum>(c.format); 1609 GLenum format = static_cast<GLenum>(c.format);
1610 GLenum type = static_cast<GLenum>(c.type); 1610 GLenum type = static_cast<GLenum>(c.type);
1611 uint32 data_size = GLES2Util::ComputeImageDataSize( 1611 uint32 data_size = GLES2Util::ComputeImageDataSize(
1612 width, height, format, type, unpack_alignment_); 1612 width, height, format, type, unpack_alignment_);
1613 const void* pixels = GetImmediateDataAs<const void*>( 1613 const void* pixels = GetImmediateDataAs<const void*>(
1614 c, data_size, immediate_data_size); 1614 c, data_size, immediate_data_size);
1615 if (!ValidateGLenumTextureTarget(target)) { 1615 if (!ValidateGLenumTextureTarget(target)) {
1616 SetGLError(GL_INVALID_VALUE); 1616 SetGLError(GL_INVALID_ENUM);
1617 return parse_error::kParseNoError; 1617 return parse_error::kParseNoError;
1618 } 1618 }
1619 if (!ValidateGLenumTextureFormat(format)) { 1619 if (!ValidateGLenumTextureFormat(format)) {
1620 SetGLError(GL_INVALID_VALUE); 1620 SetGLError(GL_INVALID_ENUM);
1621 return parse_error::kParseNoError; 1621 return parse_error::kParseNoError;
1622 } 1622 }
1623 if (!ValidateGLenumPixelType(type)) { 1623 if (!ValidateGLenumPixelType(type)) {
1624 SetGLError(GL_INVALID_VALUE); 1624 SetGLError(GL_INVALID_ENUM);
1625 return parse_error::kParseNoError; 1625 return parse_error::kParseNoError;
1626 } 1626 }
1627 if (pixels == NULL) { 1627 if (pixels == NULL) {
1628 return parse_error::kParseOutOfBounds; 1628 return parse_error::kParseOutOfBounds;
1629 } 1629 }
1630 glTexSubImage2D( 1630 glTexSubImage2D(
1631 target, level, xoffset, yoffset, width, height, format, type, pixels); 1631 target, level, xoffset, yoffset, width, height, format, type, pixels);
1632 return parse_error::kParseNoError; 1632 return parse_error::kParseNoError;
1633 } 1633 }
1634 1634
(...skipping 590 matching lines...) Expand 10 before | Expand all | Expand 10 after
2225 glViewport(x, y, width, height); 2225 glViewport(x, y, width, height);
2226 return parse_error::kParseNoError; 2226 return parse_error::kParseNoError;
2227 } 2227 }
2228 2228
2229 parse_error::ParseError GLES2DecoderImpl::HandleSwapBuffers( 2229 parse_error::ParseError GLES2DecoderImpl::HandleSwapBuffers(
2230 uint32 immediate_data_size, const gles2::SwapBuffers& c) { 2230 uint32 immediate_data_size, const gles2::SwapBuffers& c) {
2231 DoSwapBuffers(); 2231 DoSwapBuffers();
2232 return parse_error::kParseNoError; 2232 return parse_error::kParseNoError;
2233 } 2233 }
2234 2234
OLDNEW
« no previous file with comments | « gpu/command_buffer/service/gles2_cmd_decoder.cc ('k') | gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698