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