Index: gpu/command_buffer/client/gles2_implementation_impl_autogen.h |
diff --git a/gpu/command_buffer/client/gles2_implementation_impl_autogen.h b/gpu/command_buffer/client/gles2_implementation_impl_autogen.h |
index d7a45ce1d95cc0b9dc4d7f0bb493361af2966aa8..e7ef7691755286f300146ce2abf6bd323fe4d9ab 100644 |
--- a/gpu/command_buffer/client/gles2_implementation_impl_autogen.h |
+++ b/gpu/command_buffer/client/gles2_implementation_impl_autogen.h |
@@ -62,6 +62,14 @@ void GLES2Implementation::BindRenderbuffer(GLenum target, GLuint renderbuffer) { |
CheckGLError(); |
} |
+void GLES2Implementation::BindSampler(GLuint unit, GLuint sampler) { |
+ GPU_CLIENT_SINGLE_THREAD_CHECK(); |
+ GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindSampler(" << unit << ", " |
+ << sampler << ")"); |
+ helper_->BindSampler(unit, sampler); |
+ CheckGLError(); |
+} |
+ |
void GLES2Implementation::BindTexture(GLenum target, GLuint texture) { |
GPU_CLIENT_SINGLE_THREAD_CHECK(); |
GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindTexture(" |
@@ -75,6 +83,16 @@ void GLES2Implementation::BindTexture(GLenum target, GLuint texture) { |
CheckGLError(); |
} |
+void GLES2Implementation::BindTransformFeedback(GLenum target, |
+ GLuint transformfeedback) { |
+ GPU_CLIENT_SINGLE_THREAD_CHECK(); |
+ GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBindTransformFeedback(" |
+ << GLES2Util::GetStringTransformFeedbackBindTarget(target) |
+ << ", " << transformfeedback << ")"); |
+ helper_->BindTransformFeedback(target, transformfeedback); |
+ CheckGLError(); |
+} |
+ |
void GLES2Implementation::BlendColor(GLclampf red, |
GLclampf green, |
GLclampf blue, |
@@ -397,6 +415,28 @@ void GLES2Implementation::DeleteRenderbuffers(GLsizei n, |
CheckGLError(); |
} |
+void GLES2Implementation::DeleteSamplers(GLsizei n, const GLuint* samplers) { |
+ GPU_CLIENT_SINGLE_THREAD_CHECK(); |
+ GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteSamplers(" << n << ", " |
+ << static_cast<const void*>(samplers) << ")"); |
+ GPU_CLIENT_LOG_CODE_BLOCK({ |
+ for (GLsizei i = 0; i < n; ++i) { |
+ GPU_CLIENT_LOG(" " << i << ": " << samplers[i]); |
+ } |
+ }); |
+ GPU_CLIENT_DCHECK_CODE_BLOCK({ |
+ for (GLsizei i = 0; i < n; ++i) { |
+ DCHECK(samplers[i] != 0); |
+ } |
+ }); |
+ if (n < 0) { |
+ SetGLError(GL_INVALID_VALUE, "glDeleteSamplers", "n < 0"); |
+ return; |
+ } |
+ DeleteSamplersHelper(n, samplers); |
+ CheckGLError(); |
+} |
+ |
void GLES2Implementation::DeleteShader(GLuint shader) { |
GPU_CLIENT_SINGLE_THREAD_CHECK(); |
GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteShader(" << shader << ")"); |
@@ -427,6 +467,29 @@ void GLES2Implementation::DeleteTextures(GLsizei n, const GLuint* textures) { |
CheckGLError(); |
} |
+void GLES2Implementation::DeleteTransformFeedbacks(GLsizei n, |
+ const GLuint* ids) { |
+ GPU_CLIENT_SINGLE_THREAD_CHECK(); |
+ GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDeleteTransformFeedbacks(" << n |
+ << ", " << static_cast<const void*>(ids) << ")"); |
+ GPU_CLIENT_LOG_CODE_BLOCK({ |
+ for (GLsizei i = 0; i < n; ++i) { |
+ GPU_CLIENT_LOG(" " << i << ": " << ids[i]); |
+ } |
+ }); |
+ GPU_CLIENT_DCHECK_CODE_BLOCK({ |
+ for (GLsizei i = 0; i < n; ++i) { |
+ DCHECK(ids[i] != 0); |
+ } |
+ }); |
+ if (n < 0) { |
+ SetGLError(GL_INVALID_VALUE, "glDeleteTransformFeedbacks", "n < 0"); |
+ return; |
+ } |
+ DeleteTransformFeedbacksHelper(n, ids); |
+ CheckGLError(); |
+} |
+ |
void GLES2Implementation::DepthFunc(GLenum func) { |
GPU_CLIENT_SINGLE_THREAD_CHECK(); |
GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glDepthFunc(" |
@@ -588,6 +651,27 @@ void GLES2Implementation::GenRenderbuffers(GLsizei n, GLuint* renderbuffers) { |
CheckGLError(); |
} |
+void GLES2Implementation::GenSamplers(GLsizei n, GLuint* samplers) { |
+ GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenSamplers(" << n << ", " |
+ << static_cast<const void*>(samplers) << ")"); |
+ if (n < 0) { |
+ SetGLError(GL_INVALID_VALUE, "glGenSamplers", "n < 0"); |
+ return; |
+ } |
+ GPU_CLIENT_SINGLE_THREAD_CHECK(); |
+ GetIdHandler(id_namespaces::kSamplers)->MakeIds(this, 0, n, samplers); |
+ GenSamplersHelper(n, samplers); |
+ helper_->GenSamplersImmediate(n, samplers); |
+ if (share_group_->bind_generates_resource()) |
+ helper_->CommandBufferHelper::Flush(); |
+ GPU_CLIENT_LOG_CODE_BLOCK({ |
+ for (GLsizei i = 0; i < n; ++i) { |
+ GPU_CLIENT_LOG(" " << i << ": " << samplers[i]); |
+ } |
+ }); |
+ CheckGLError(); |
+} |
+ |
void GLES2Implementation::GenTextures(GLsizei n, GLuint* textures) { |
GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenTextures(" << n << ", " |
<< static_cast<const void*>(textures) << ")"); |
@@ -609,6 +693,27 @@ void GLES2Implementation::GenTextures(GLsizei n, GLuint* textures) { |
CheckGLError(); |
} |
+void GLES2Implementation::GenTransformFeedbacks(GLsizei n, GLuint* ids) { |
+ GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenTransformFeedbacks(" << n |
+ << ", " << static_cast<const void*>(ids) << ")"); |
+ if (n < 0) { |
+ SetGLError(GL_INVALID_VALUE, "glGenTransformFeedbacks", "n < 0"); |
+ return; |
+ } |
+ GPU_CLIENT_SINGLE_THREAD_CHECK(); |
+ GetIdHandler(id_namespaces::kTransformFeedbacks)->MakeIds(this, 0, n, ids); |
+ GenTransformFeedbacksHelper(n, ids); |
+ helper_->GenTransformFeedbacksImmediate(n, ids); |
+ if (share_group_->bind_generates_resource()) |
+ helper_->CommandBufferHelper::Flush(); |
+ GPU_CLIENT_LOG_CODE_BLOCK({ |
+ for (GLsizei i = 0; i < n; ++i) { |
+ GPU_CLIENT_LOG(" " << i << ": " << ids[i]); |
+ } |
+ }); |
+ CheckGLError(); |
+} |
+ |
void GLES2Implementation::GetBooleanv(GLenum pname, GLboolean* params) { |
GPU_CLIENT_SINGLE_THREAD_CHECK(); |
GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLboolean, params); |
@@ -874,6 +979,65 @@ void GLES2Implementation::GetRenderbufferParameteriv(GLenum target, |
}); |
CheckGLError(); |
} |
+void GLES2Implementation::GetSamplerParameterfv(GLuint sampler, |
+ GLenum pname, |
+ GLfloat* params) { |
+ GPU_CLIENT_SINGLE_THREAD_CHECK(); |
+ GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetSamplerParameterfv(" |
+ << sampler << ", " |
+ << GLES2Util::GetStringSamplerParameter(pname) << ", " |
+ << static_cast<const void*>(params) << ")"); |
+ TRACE_EVENT0("gpu", "GLES2Implementation::GetSamplerParameterfv"); |
+ if (GetSamplerParameterfvHelper(sampler, pname, params)) { |
+ return; |
+ } |
+ typedef cmds::GetSamplerParameterfv::Result Result; |
+ Result* result = GetResultAs<Result*>(); |
+ if (!result) { |
+ return; |
+ } |
+ result->SetNumResults(0); |
+ helper_->GetSamplerParameterfv(sampler, pname, GetResultShmId(), |
+ GetResultShmOffset()); |
+ WaitForCmd(); |
+ result->CopyResult(params); |
+ GPU_CLIENT_LOG_CODE_BLOCK({ |
+ for (int32_t i = 0; i < result->GetNumResults(); ++i) { |
+ GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); |
+ } |
+ }); |
+ CheckGLError(); |
+} |
+void GLES2Implementation::GetSamplerParameteriv(GLuint sampler, |
+ GLenum pname, |
+ GLint* params) { |
+ GPU_CLIENT_SINGLE_THREAD_CHECK(); |
+ GPU_CLIENT_VALIDATE_DESTINATION_INITALIZATION(GLint, params); |
+ GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGetSamplerParameteriv(" |
+ << sampler << ", " |
+ << GLES2Util::GetStringSamplerParameter(pname) << ", " |
+ << static_cast<const void*>(params) << ")"); |
+ TRACE_EVENT0("gpu", "GLES2Implementation::GetSamplerParameteriv"); |
+ if (GetSamplerParameterivHelper(sampler, pname, params)) { |
+ return; |
+ } |
+ typedef cmds::GetSamplerParameteriv::Result Result; |
+ Result* result = GetResultAs<Result*>(); |
+ if (!result) { |
+ return; |
+ } |
+ result->SetNumResults(0); |
+ helper_->GetSamplerParameteriv(sampler, pname, GetResultShmId(), |
+ GetResultShmOffset()); |
+ WaitForCmd(); |
+ result->CopyResult(params); |
+ GPU_CLIENT_LOG_CODE_BLOCK({ |
+ for (int32_t i = 0; i < result->GetNumResults(); ++i) { |
+ GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); |
+ } |
+ }); |
+ CheckGLError(); |
+} |
void GLES2Implementation::GetShaderiv(GLuint shader, |
GLenum pname, |
GLint* params) { |
@@ -1154,6 +1318,24 @@ GLboolean GLES2Implementation::IsRenderbuffer(GLuint renderbuffer) { |
return result_value; |
} |
+GLboolean GLES2Implementation::IsSampler(GLuint sampler) { |
+ GPU_CLIENT_SINGLE_THREAD_CHECK(); |
+ TRACE_EVENT0("gpu", "GLES2Implementation::IsSampler"); |
+ GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glIsSampler(" << sampler << ")"); |
+ typedef cmds::IsSampler::Result Result; |
+ Result* result = GetResultAs<Result*>(); |
+ if (!result) { |
+ return GL_FALSE; |
+ } |
+ *result = 0; |
+ helper_->IsSampler(sampler, GetResultShmId(), GetResultShmOffset()); |
+ WaitForCmd(); |
+ GLboolean result_value = *result != 0; |
+ GPU_CLIENT_LOG("returned " << result_value); |
+ CheckGLError(); |
+ return result_value; |
+} |
+ |
GLboolean GLES2Implementation::IsShader(GLuint shader) { |
GPU_CLIENT_SINGLE_THREAD_CHECK(); |
TRACE_EVENT0("gpu", "GLES2Implementation::IsShader"); |
@@ -1190,6 +1372,26 @@ GLboolean GLES2Implementation::IsTexture(GLuint texture) { |
return result_value; |
} |
+GLboolean GLES2Implementation::IsTransformFeedback(GLuint transformfeedback) { |
+ GPU_CLIENT_SINGLE_THREAD_CHECK(); |
+ TRACE_EVENT0("gpu", "GLES2Implementation::IsTransformFeedback"); |
+ GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glIsTransformFeedback(" |
+ << transformfeedback << ")"); |
+ typedef cmds::IsTransformFeedback::Result Result; |
+ Result* result = GetResultAs<Result*>(); |
+ if (!result) { |
+ return GL_FALSE; |
+ } |
+ *result = 0; |
+ helper_->IsTransformFeedback(transformfeedback, GetResultShmId(), |
+ GetResultShmOffset()); |
+ WaitForCmd(); |
+ GLboolean result_value = *result != 0; |
+ GPU_CLIENT_LOG("returned " << result_value); |
+ CheckGLError(); |
+ return result_value; |
+} |
+ |
void GLES2Implementation::LineWidth(GLfloat width) { |
GPU_CLIENT_SINGLE_THREAD_CHECK(); |
GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glLineWidth(" << width << ")"); |
@@ -1197,6 +1399,14 @@ void GLES2Implementation::LineWidth(GLfloat width) { |
CheckGLError(); |
} |
+void GLES2Implementation::PauseTransformFeedback() { |
+ GPU_CLIENT_SINGLE_THREAD_CHECK(); |
+ GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glPauseTransformFeedback(" |
+ << ")"); |
+ helper_->PauseTransformFeedback(); |
+ CheckGLError(); |
+} |
+ |
void GLES2Implementation::PolygonOffset(GLfloat factor, GLfloat units) { |
GPU_CLIENT_SINGLE_THREAD_CHECK(); |
GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glPolygonOffset(" << factor << ", " |
@@ -1242,6 +1452,14 @@ void GLES2Implementation::RenderbufferStorage(GLenum target, |
CheckGLError(); |
} |
+void GLES2Implementation::ResumeTransformFeedback() { |
+ GPU_CLIENT_SINGLE_THREAD_CHECK(); |
+ GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glResumeTransformFeedback(" |
+ << ")"); |
+ helper_->ResumeTransformFeedback(); |
+ CheckGLError(); |
+} |
+ |
void GLES2Implementation::SampleCoverage(GLclampf value, GLboolean invert) { |
GPU_CLIENT_SINGLE_THREAD_CHECK(); |
GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glSampleCoverage(" << value << ", " |
@@ -1250,6 +1468,52 @@ void GLES2Implementation::SampleCoverage(GLclampf value, GLboolean invert) { |
CheckGLError(); |
} |
+void GLES2Implementation::SamplerParameterf(GLuint sampler, |
+ GLenum pname, |
+ GLfloat param) { |
+ GPU_CLIENT_SINGLE_THREAD_CHECK(); |
+ GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glSamplerParameterf(" << sampler |
+ << ", " << GLES2Util::GetStringSamplerParameter(pname) |
+ << ", " << param << ")"); |
+ helper_->SamplerParameterf(sampler, pname, param); |
+ CheckGLError(); |
+} |
+ |
+void GLES2Implementation::SamplerParameterfv(GLuint sampler, |
+ GLenum pname, |
+ const GLfloat* params) { |
+ GPU_CLIENT_SINGLE_THREAD_CHECK(); |
+ GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glSamplerParameterfv(" << sampler |
+ << ", " << GLES2Util::GetStringSamplerParameter(pname) |
+ << ", " << static_cast<const void*>(params) << ")"); |
+ GPU_CLIENT_LOG("values: " << params[0]); |
+ helper_->SamplerParameterfvImmediate(sampler, pname, params); |
+ CheckGLError(); |
+} |
+ |
+void GLES2Implementation::SamplerParameteri(GLuint sampler, |
+ GLenum pname, |
+ GLint param) { |
+ GPU_CLIENT_SINGLE_THREAD_CHECK(); |
+ GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glSamplerParameteri(" << sampler |
+ << ", " << GLES2Util::GetStringSamplerParameter(pname) |
+ << ", " << param << ")"); |
+ helper_->SamplerParameteri(sampler, pname, param); |
+ CheckGLError(); |
+} |
+ |
+void GLES2Implementation::SamplerParameteriv(GLuint sampler, |
+ GLenum pname, |
+ const GLint* params) { |
+ GPU_CLIENT_SINGLE_THREAD_CHECK(); |
+ GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glSamplerParameteriv(" << sampler |
+ << ", " << GLES2Util::GetStringSamplerParameter(pname) |
+ << ", " << static_cast<const void*>(params) << ")"); |
+ GPU_CLIENT_LOG("values: " << params[0]); |
+ helper_->SamplerParameterivImmediate(sampler, pname, params); |
+ CheckGLError(); |
+} |
+ |
void GLES2Implementation::Scissor(GLint x, |
GLint y, |
GLsizei width, |
@@ -2391,6 +2655,23 @@ void GLES2Implementation::DeleteQueriesEXT(GLsizei n, const GLuint* queries) { |
CheckGLError(); |
} |
+void GLES2Implementation::BeginTransformFeedback(GLenum primitivemode) { |
+ GPU_CLIENT_SINGLE_THREAD_CHECK(); |
+ GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glBeginTransformFeedback(" |
+ << GLES2Util::GetStringTransformFeedbackPrimitiveMode( |
+ primitivemode) << ")"); |
+ helper_->BeginTransformFeedback(primitivemode); |
+ CheckGLError(); |
+} |
+ |
+void GLES2Implementation::EndTransformFeedback() { |
+ GPU_CLIENT_SINGLE_THREAD_CHECK(); |
+ GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glEndTransformFeedback(" |
+ << ")"); |
+ helper_->EndTransformFeedback(); |
+ CheckGLError(); |
+} |
+ |
void GLES2Implementation::GenVertexArraysOES(GLsizei n, GLuint* arrays) { |
GPU_CLIENT_LOG("[" << GetLogPrefix() << "] glGenVertexArraysOES(" << n << ", " |
<< static_cast<const void*>(arrays) << ")"); |