summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer/client
diff options
context:
space:
mode:
authorgman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-16 07:34:45 +0000
committergman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-03-16 07:34:45 +0000
commit36cef8cece381a98e76e57f50d4201d2f8f2a9b2 (patch)
tree702cb378477a510267105cc0fe2612bd914986ad /gpu/command_buffer/client
parentd33a47ce26330b024214b0ecfb8b2c5cda218233 (diff)
downloadchromium_src-36cef8cece381a98e76e57f50d4201d2f8f2a9b2.zip
chromium_src-36cef8cece381a98e76e57f50d4201d2f8f2a9b2.tar.gz
chromium_src-36cef8cece381a98e76e57f50d4201d2f8f2a9b2.tar.bz2
Fixed bugs in glActiveTexture. Added real implementation
for glCheckFramebufferStatus. Added support for hiding ID 0 for all functions that reference a framebuffer or renderbuffer. TEST=unit tests BUG=none Review URL: http://codereview.chromium.org/1023002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41692 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/command_buffer/client')
-rw-r--r--gpu/command_buffer/client/gles2_cmd_helper_autogen.h5
-rw-r--r--gpu/command_buffer/client/gles2_implementation.cc5
-rw-r--r--gpu/command_buffer/client/gles2_implementation_autogen.h10
3 files changed, 12 insertions, 8 deletions
diff --git a/gpu/command_buffer/client/gles2_cmd_helper_autogen.h b/gpu/command_buffer/client/gles2_cmd_helper_autogen.h
index 6ae38f4..b450ba5 100644
--- a/gpu/command_buffer/client/gles2_cmd_helper_autogen.h
+++ b/gpu/command_buffer/client/gles2_cmd_helper_autogen.h
@@ -109,10 +109,11 @@
c.Init(target, offset, size);
}
- void CheckFramebufferStatus(GLenum target) {
+ void CheckFramebufferStatus(
+ GLenum target, uint32 result_shm_id, uint32 result_shm_offset) {
gles2::CheckFramebufferStatus& c =
GetCmdSpace<gles2::CheckFramebufferStatus>();
- c.Init(target);
+ c.Init(target, result_shm_id, result_shm_offset);
}
void Clear(GLbitfield mask) {
diff --git a/gpu/command_buffer/client/gles2_implementation.cc b/gpu/command_buffer/client/gles2_implementation.cc
index f7bf3ad..cded8bb 100644
--- a/gpu/command_buffer/client/gles2_implementation.cc
+++ b/gpu/command_buffer/client/gles2_implementation.cc
@@ -449,11 +449,6 @@ void GLES2Implementation::TexSubImage2D(
}
}
-GLenum GLES2Implementation::CheckFramebufferStatus(GLenum target) {
- // TODO(gman): implement.
- return 0;
-}
-
void GLES2Implementation::GetActiveAttrib(
GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size,
GLenum* type, char* name) {
diff --git a/gpu/command_buffer/client/gles2_implementation_autogen.h b/gpu/command_buffer/client/gles2_implementation_autogen.h
index ef6803d..1f78ead 100644
--- a/gpu/command_buffer/client/gles2_implementation_autogen.h
+++ b/gpu/command_buffer/client/gles2_implementation_autogen.h
@@ -65,7 +65,15 @@ void BufferData(
void BufferSubData(
GLenum target, GLintptr offset, GLsizeiptr size, const void* data);
-GLenum CheckFramebufferStatus(GLenum target);
+GLenum CheckFramebufferStatus(GLenum target) {
+ typedef CheckFramebufferStatus::Result Result;
+ Result* result = GetResultAs<Result*>();
+ *result = 0;
+ helper_->CheckFramebufferStatus(
+ target, result_shm_id(), result_shm_offset());
+ WaitForCmd();
+ return *result;
+}
void Clear(GLbitfield mask) {
helper_->Clear(mask);