| Index: gpu/command_buffer/client/gles2_implementation.cc
|
| diff --git a/gpu/command_buffer/client/gles2_implementation.cc b/gpu/command_buffer/client/gles2_implementation.cc
|
| index 6f00feb9705aa12eb9cda120aa13b664c9dad756..15f6bfbe8602f34e8dd04dfa8da69ab7e840e3f2 100644
|
| --- a/gpu/command_buffer/client/gles2_implementation.cc
|
| +++ b/gpu/command_buffer/client/gles2_implementation.cc
|
| @@ -603,6 +603,18 @@ const size_t GLES2Implementation::kMaxSizeOfSimpleResult;
|
| COMPILE_ASSERT(gpu::kInvalidResource == 0,
|
| INVALID_RESOURCE_NOT_0_AS_GL_EXPECTS);
|
|
|
| +GLES2Implementation::SingleThreadChecker::SingleThreadChecker(
|
| + GLES2Implementation* gles2_implementation)
|
| + : gles2_implementation_(gles2_implementation) {
|
| + GPU_CHECK_EQ(0, gles2_implementation_->use_count_);
|
| + ++gles2_implementation_->use_count_;
|
| +}
|
| +
|
| +GLES2Implementation::SingleThreadChecker::~SingleThreadChecker() {
|
| + --gles2_implementation_->use_count_;
|
| + GPU_CHECK_EQ(0, gles2_implementation_->use_count_);
|
| +}
|
| +
|
| GLES2Implementation::GLES2Implementation(
|
| GLES2CmdHelper* helper,
|
| size_t transfer_buffer_size,
|
| @@ -633,7 +645,8 @@ GLES2Implementation::GLES2Implementation(
|
| error_bits_(0),
|
| debug_(false),
|
| sharing_resources_(share_resources),
|
| - bind_generates_resource_(bind_generates_resource) {
|
| + bind_generates_resource_(bind_generates_resource),
|
| + use_count_(0) {
|
| GPU_CLIENT_LOG_CODE_BLOCK({
|
| debug_ = CommandLine::ForCurrentProcess()->HasSwitch(
|
| switches::kEnableGPUClientLogging);
|
| @@ -767,6 +780,7 @@ bool GLES2Implementation::IsAnglePackReverseRowOrderAvailable() {
|
| }
|
|
|
| GLenum GLES2Implementation::GetError() {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glGetError()");
|
| GLenum err = GetGLError();
|
| GPU_CLIENT_LOG("returned " << GLES2Util::GetStringError(err));
|
| @@ -1005,6 +1019,7 @@ bool GLES2Implementation::GetIntegervHelper(GLenum pname, GLint* params) {
|
|
|
| void GLES2Implementation::DrawElements(
|
| GLenum mode, GLsizei count, GLenum type, const void* indices) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glDrawElements("
|
| << GLES2Util::GetStringDrawMode(mode) << ", "
|
| << count << ", "
|
| @@ -1057,6 +1072,7 @@ void GLES2Implementation::DrawElements(
|
| }
|
|
|
| void GLES2Implementation::Flush() {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glFlush()");
|
| // Insert the cmd to call glFlush
|
| helper_->Flush();
|
| @@ -1066,6 +1082,7 @@ void GLES2Implementation::Flush() {
|
| }
|
|
|
| void GLES2Implementation::Finish() {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glFinish()");
|
| TRACE_EVENT0("gpu", "GLES2::Finish");
|
| // Insert the cmd to call glFinish
|
| @@ -1077,6 +1094,7 @@ void GLES2Implementation::Finish() {
|
| }
|
|
|
| void GLES2Implementation::SwapBuffers() {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glSwapBuffers()");
|
| // TODO(piman): Strictly speaking we'd want to insert the token after the
|
| // swap, but the state update with the updated token might not have happened
|
| @@ -1185,6 +1203,7 @@ void GLES2Implementation::RegisterSharedIdsCHROMIUM(
|
|
|
| void GLES2Implementation::BindAttribLocation(
|
| GLuint program, GLuint index, const char* name) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glBindAttribLocation(" << program << ", "
|
| << index << ", " << name << ")");
|
| SetBucketAsString(kResultBucketId, name);
|
| @@ -1194,6 +1213,7 @@ void GLES2Implementation::BindAttribLocation(
|
|
|
| void GLES2Implementation::GetVertexAttribPointerv(
|
| GLuint index, GLenum pname, void** ptr) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glGetVertexAttribPointer(" << index << ", "
|
| << GLES2Util::GetStringVertexPointer(pname) << ", "
|
| << static_cast<void*>(ptr) << ")");
|
| @@ -1259,6 +1279,7 @@ GLint GLES2Implementation::GetAttribLocationHelper(
|
|
|
| GLint GLES2Implementation::GetAttribLocation(
|
| GLuint program, const char* name) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glGetAttribLocation(" << program
|
| << ", " << name << ")");
|
| TRACE_EVENT0("gpu", "GLES2::GetAttribLocation");
|
| @@ -1282,6 +1303,7 @@ GLint GLES2Implementation::GetUniformLocationHelper(
|
|
|
| GLint GLES2Implementation::GetUniformLocation(
|
| GLuint program, const char* name) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glGetUniformLocation(" << program
|
| << ", " << name << ")");
|
| TRACE_EVENT0("gpu", "GLES2::GetUniformLocation");
|
| @@ -1296,6 +1318,7 @@ bool GLES2Implementation::GetProgramivHelper(
|
| }
|
|
|
| void GLES2Implementation::LinkProgram(GLuint program) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glLinkProgram(" << program << ")");
|
| helper_->LinkProgram(program);
|
| program_info_manager_->CreateInfo(program);
|
| @@ -1304,6 +1327,7 @@ void GLES2Implementation::LinkProgram(GLuint program) {
|
| void GLES2Implementation::ShaderBinary(
|
| GLsizei n, const GLuint* shaders, GLenum binaryformat, const void* binary,
|
| GLsizei length) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glShaderBinary(" << n << ", "
|
| << static_cast<const void*>(shaders) << ", "
|
| << GLES2Util::GetStringEnum(binaryformat) << ", "
|
| @@ -1336,6 +1360,7 @@ void GLES2Implementation::ShaderBinary(
|
| }
|
|
|
| void GLES2Implementation::PixelStorei(GLenum pname, GLint param) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glPixelStorei("
|
| << GLES2Util::GetStringPixelStore(pname) << ", "
|
| << param << ")");
|
| @@ -1363,6 +1388,7 @@ void GLES2Implementation::PixelStorei(GLenum pname, GLint param) {
|
| void GLES2Implementation::VertexAttribPointer(
|
| GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride,
|
| const void* ptr) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glVertexAttribPointer("
|
| << index << ", "
|
| << size << ", "
|
| @@ -1387,6 +1413,7 @@ void GLES2Implementation::VertexAttribPointer(
|
|
|
| void GLES2Implementation::ShaderSource(
|
| GLuint shader, GLsizei count, const char** source, const GLint* length) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glShaderSource("
|
| << shader << ", " << count << ", "
|
| << static_cast<const void*>(source) << ", "
|
| @@ -1456,6 +1483,7 @@ void GLES2Implementation::ShaderSource(
|
|
|
| void GLES2Implementation::BufferData(
|
| GLenum target, GLsizeiptr size, const void* data, GLenum usage) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glBufferData("
|
| << GLES2Util::GetStringBufferTarget(target) << ", "
|
| << size << ", "
|
| @@ -1484,6 +1512,7 @@ void GLES2Implementation::BufferData(
|
|
|
| void GLES2Implementation::BufferSubData(
|
| GLenum target, GLintptr offset, GLsizeiptr size, const void* data) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glBufferSubData("
|
| << GLES2Util::GetStringBufferTarget(target) << ", "
|
| << offset << ", " << size << ", "
|
| @@ -1517,6 +1546,7 @@ void GLES2Implementation::BufferSubData(
|
| void GLES2Implementation::CompressedTexImage2D(
|
| GLenum target, GLint level, GLenum internalformat, GLsizei width,
|
| GLsizei height, GLint border, GLsizei image_size, const void* data) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glCompressedTexImage2D("
|
| << GLES2Util::GetStringTextureTarget(target) << ", "
|
| << level << ", "
|
| @@ -1543,6 +1573,7 @@ void GLES2Implementation::CompressedTexImage2D(
|
| void GLES2Implementation::CompressedTexSubImage2D(
|
| GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
|
| GLsizei height, GLenum format, GLsizei image_size, const void* data) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glCompressedTexSubImage2D("
|
| << GLES2Util::GetStringTextureTarget(target) << ", "
|
| << level << ", "
|
| @@ -1607,6 +1638,7 @@ void GLES2Implementation::TexImage2D(
|
| GLenum target, GLint level, GLint internalformat, GLsizei width,
|
| GLsizei height, GLint border, GLenum format, GLenum type,
|
| const void* pixels) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glTexImage2D("
|
| << GLES2Util::GetStringTextureTarget(target) << ", "
|
| << level << ", "
|
| @@ -1661,6 +1693,7 @@ void GLES2Implementation::TexImage2D(
|
| void GLES2Implementation::TexSubImage2D(
|
| GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width,
|
| GLsizei height, GLenum format, GLenum type, const void* pixels) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glTexSubImage2D("
|
| << GLES2Util::GetStringTextureTarget(target) << ", "
|
| << level << ", "
|
| @@ -1808,6 +1841,7 @@ bool GLES2Implementation::GetActiveAttribHelper(
|
| void GLES2Implementation::GetActiveAttrib(
|
| GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size,
|
| GLenum* type, char* name) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glGetActiveAttrib("
|
| << program << ", " << index << ", " << bufsize << ", "
|
| << static_cast<const void*>(length) << ", "
|
| @@ -1874,6 +1908,7 @@ bool GLES2Implementation::GetActiveUniformHelper(
|
| void GLES2Implementation::GetActiveUniform(
|
| GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size,
|
| GLenum* type, char* name) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glGetActiveUniform("
|
| << program << ", " << index << ", " << bufsize << ", "
|
| << static_cast<const void*>(length) << ", "
|
| @@ -1902,6 +1937,7 @@ void GLES2Implementation::GetActiveUniform(
|
|
|
| void GLES2Implementation::GetAttachedShaders(
|
| GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glGetAttachedShaders("
|
| << program << ", " << maxcount << ", "
|
| << static_cast<const void*>(count) << ", "
|
| @@ -1937,6 +1973,7 @@ void GLES2Implementation::GetAttachedShaders(
|
|
|
| void GLES2Implementation::GetShaderPrecisionFormat(
|
| GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glGetShaderPrecisionFormat("
|
| << GLES2Util::GetStringShaderType(shadertype) << ", "
|
| << GLES2Util::GetStringShaderPrecision(precisiontype) << ", "
|
| @@ -1964,6 +2001,7 @@ void GLES2Implementation::GetShaderPrecisionFormat(
|
| }
|
|
|
| const GLubyte* GLES2Implementation::GetString(GLenum name) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glGetString("
|
| << GLES2Util::GetStringStringType(name) << ")");
|
| const char* result = NULL;
|
| @@ -2011,6 +2049,7 @@ const GLubyte* GLES2Implementation::GetString(GLenum name) {
|
|
|
| void GLES2Implementation::GetUniformfv(
|
| GLuint program, GLint location, GLfloat* params) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glGetUniformfv("
|
| << program << ", " << location << ", "
|
| << static_cast<const void*>(params) << ")");
|
| @@ -2031,6 +2070,7 @@ void GLES2Implementation::GetUniformfv(
|
|
|
| void GLES2Implementation::GetUniformiv(
|
| GLuint program, GLint location, GLint* params) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glGetUniformiv("
|
| << program << ", " << location << ", "
|
| << static_cast<const void*>(params) << ")");
|
| @@ -2052,6 +2092,7 @@ void GLES2Implementation::GetUniformiv(
|
| void GLES2Implementation::ReadPixels(
|
| GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format,
|
| GLenum type, void* pixels) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glReadPixels("
|
| << xoffset << ", " << yoffset << ", "
|
| << width << ", " << height << ", "
|
| @@ -2189,6 +2230,7 @@ void GLES2Implementation::ReadPixels(
|
| }
|
|
|
| void GLES2Implementation::ActiveTexture(GLenum texture) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glActiveTexture("
|
| << GLES2Util::GetStringEnum(texture) << ")");
|
| GLuint texture_index = texture - GL_TEXTURE0;
|
| @@ -2364,6 +2406,7 @@ void GLES2Implementation::DeleteTexturesHelper(
|
| }
|
|
|
| void GLES2Implementation::DisableVertexAttribArray(GLuint index) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG(
|
| "[" << this << "] glDisableVertexAttribArray(" << index << ")");
|
| #if defined(GLES2_SUPPORT_CLIENT_SIDE_ARRAYS)
|
| @@ -2373,6 +2416,7 @@ void GLES2Implementation::DisableVertexAttribArray(GLuint index) {
|
| }
|
|
|
| void GLES2Implementation::EnableVertexAttribArray(GLuint index) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glEnableVertexAttribArray(" << index << ")");
|
| #if defined(GLES2_SUPPORT_CLIENT_SIDE_ARRAYS)
|
| client_side_buffer_helper_->SetAttribEnable(index, true);
|
| @@ -2381,6 +2425,7 @@ void GLES2Implementation::EnableVertexAttribArray(GLuint index) {
|
| }
|
|
|
| void GLES2Implementation::DrawArrays(GLenum mode, GLint first, GLsizei count) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glDrawArrays("
|
| << GLES2Util::GetStringDrawMode(mode) << ", "
|
| << first << ", " << count << ")");
|
| @@ -2445,6 +2490,7 @@ bool GLES2Implementation::GetVertexAttribHelper(
|
|
|
| void GLES2Implementation::GetVertexAttribfv(
|
| GLuint index, GLenum pname, GLfloat* params) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glGetVertexAttribfv("
|
| << index << ", "
|
| << GLES2Util::GetStringVertexAttribute(pname) << ", "
|
| @@ -2473,6 +2519,7 @@ void GLES2Implementation::GetVertexAttribfv(
|
|
|
| void GLES2Implementation::GetVertexAttribiv(
|
| GLuint index, GLenum pname, GLint* params) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glGetVertexAttribiv("
|
| << index << ", "
|
| << GLES2Util::GetStringVertexAttribute(pname) << ", "
|
| @@ -2501,6 +2548,7 @@ void GLES2Implementation::GetVertexAttribiv(
|
|
|
| GLboolean GLES2Implementation::EnableFeatureCHROMIUM(
|
| const char* feature) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glEnableFeatureCHROMIUM("
|
| << feature << ")");
|
| TRACE_EVENT0("gpu", "GLES2::EnableFeatureCHROMIUM");
|
| @@ -2518,6 +2566,7 @@ GLboolean GLES2Implementation::EnableFeatureCHROMIUM(
|
|
|
| void* GLES2Implementation::MapBufferSubDataCHROMIUM(
|
| GLuint target, GLintptr offset, GLsizeiptr size, GLenum access) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glMapBufferSubDataCHROMIUM("
|
| << target << ", " << offset << ", " << size << ", "
|
| << GLES2Util::GetStringEnum(access) << ")");
|
| @@ -2550,6 +2599,7 @@ void* GLES2Implementation::MapBufferSubDataCHROMIUM(
|
| }
|
|
|
| void GLES2Implementation::UnmapBufferSubDataCHROMIUM(const void* mem) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG(
|
| "[" << this << "] glUnmapBufferSubDataCHROMIUM(" << mem << ")");
|
| MappedBufferMap::iterator it = mapped_buffers_.find(mem);
|
| @@ -2576,6 +2626,7 @@ void* GLES2Implementation::MapTexSubImage2DCHROMIUM(
|
| GLenum format,
|
| GLenum type,
|
| GLenum access) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glMapTexSubImage2DCHROMIUM("
|
| << target << ", " << level << ", "
|
| << xoffset << ", " << yoffset << ", "
|
| @@ -2620,6 +2671,7 @@ void* GLES2Implementation::MapTexSubImage2DCHROMIUM(
|
| }
|
|
|
| void GLES2Implementation::UnmapTexSubImage2DCHROMIUM(const void* mem) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG(
|
| "[" << this << "] glUnmapTexSubImage2DCHROMIUM(" << mem << ")");
|
| MappedTextureMap::iterator it = mapped_textures_.find(mem);
|
| @@ -2638,12 +2690,14 @@ void GLES2Implementation::UnmapTexSubImage2DCHROMIUM(const void* mem) {
|
| }
|
|
|
| void GLES2Implementation::ResizeCHROMIUM(GLuint width, GLuint height) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glResizeCHROMIUM("
|
| << width << ", " << height << ")");
|
| helper_->ResizeCHROMIUM(width, height);
|
| }
|
|
|
| const GLchar* GLES2Implementation::GetRequestableExtensionsCHROMIUM() {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glGetRequestableExtensionsCHROMIUM()");
|
| TRACE_EVENT0("gpu",
|
| "GLES2Implementation::GetRequestableExtensionsCHROMIUM()");
|
| @@ -2673,6 +2727,7 @@ const GLchar* GLES2Implementation::GetRequestableExtensionsCHROMIUM() {
|
| }
|
|
|
| void GLES2Implementation::RequestExtensionCHROMIUM(const char* extension) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glRequestExtensionCHROMIUM("
|
| << extension << ")");
|
| SetBucketAsCString(kResultBucketId, extension);
|
| @@ -2685,6 +2740,7 @@ void GLES2Implementation::RequestExtensionCHROMIUM(const char* extension) {
|
| }
|
|
|
| void GLES2Implementation::RateLimitOffscreenContextCHROMIUM() {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glRateLimitOffscreenCHROMIUM()");
|
| // Wait if this would add too many rate limit tokens.
|
| if (rate_limit_tokens_.size() == kMaxSwapBuffers) {
|
| @@ -2696,6 +2752,7 @@ void GLES2Implementation::RateLimitOffscreenContextCHROMIUM() {
|
|
|
| void GLES2Implementation::GetMultipleIntegervCHROMIUM(
|
| const GLenum* pnames, GLuint count, GLint* results, GLsizeiptr size) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] glGetMultipleIntegervCHROMIUM("
|
| << static_cast<const void*>(pnames) << ", "
|
| << count << ", " << results << ", " << size << ")");
|
| @@ -2763,6 +2820,7 @@ void GLES2Implementation::GetProgramInfoCHROMIUMHelper(
|
|
|
| void GLES2Implementation::GetProgramInfoCHROMIUM(
|
| GLuint program, GLsizei bufsize, GLsizei* size, void* info) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| if (bufsize < 0) {
|
| SetGLError(GL_INVALID_VALUE, "glProgramInfoCHROMIUM: bufsize less than 0.");
|
| return;
|
| @@ -2792,6 +2850,7 @@ void GLES2Implementation::GetProgramInfoCHROMIUM(
|
| }
|
|
|
| GLuint GLES2Implementation::CreateStreamTextureCHROMIUM(GLuint texture) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] CreateStreamTextureCHROMIUM("
|
| << texture << ")");
|
| TRACE_EVENT0("gpu", "GLES2::CreateStreamTextureCHROMIUM");
|
| @@ -2808,6 +2867,7 @@ GLuint GLES2Implementation::CreateStreamTextureCHROMIUM(GLuint texture) {
|
| }
|
|
|
| void GLES2Implementation::DestroyStreamTextureCHROMIUM(GLuint texture) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] DestroyStreamTextureCHROMIUM("
|
| << texture << ")");
|
| TRACE_EVENT0("gpu", "GLES2::DestroyStreamTextureCHROMIUM");
|
| @@ -2816,6 +2876,7 @@ void GLES2Implementation::DestroyStreamTextureCHROMIUM(GLuint texture) {
|
|
|
| void GLES2Implementation::PostSubBufferCHROMIUM(
|
| GLint x, GLint y, GLint width, GLint height) {
|
| + GPU_CLIENT_SINGLE_THREAD_CHECK();
|
| GPU_CLIENT_LOG("[" << this << "] PostSubBufferCHROMIUM("
|
| << x << ", " << y << ", " << width << ", " << height << ")");
|
| TRACE_EVENT0("gpu", "GLES2::PostSubBufferCHROMIUM");
|
|
|