summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer/common
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/common
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/common')
-rw-r--r--gpu/command_buffer/common/gles2_cmd_format_autogen.h23
-rw-r--r--gpu/command_buffer/common/gles2_cmd_format_test_autogen.h6
2 files changed, 23 insertions, 6 deletions
diff --git a/gpu/command_buffer/common/gles2_cmd_format_autogen.h b/gpu/command_buffer/common/gles2_cmd_format_autogen.h
index 245a3c8..20db822 100644
--- a/gpu/command_buffer/common/gles2_cmd_format_autogen.h
+++ b/gpu/command_buffer/common/gles2_cmd_format_autogen.h
@@ -748,6 +748,8 @@ struct CheckFramebufferStatus {
static const CommandId kCmdId = kCheckFramebufferStatus;
static const cmd::ArgFlags kArgFlags = cmd::kFixed;
+ typedef GLenum Result;
+
static uint32 ComputeSize() {
return static_cast<uint32>(sizeof(ValueType)); // NOLINT
}
@@ -756,26 +758,37 @@ struct CheckFramebufferStatus {
header.SetCmd<ValueType>();
}
- void Init(GLenum _target) {
+ void Init(GLenum _target, uint32 _result_shm_id, uint32 _result_shm_offset) {
SetHeader();
target = _target;
+ result_shm_id = _result_shm_id;
+ result_shm_offset = _result_shm_offset;
}
- void* Set(void* cmd, GLenum _target) {
- static_cast<ValueType*>(cmd)->Init(_target);
+ void* Set(
+ void* cmd, GLenum _target, uint32 _result_shm_id,
+ uint32 _result_shm_offset) {
+ static_cast<ValueType*>(
+ cmd)->Init(_target, _result_shm_id, _result_shm_offset);
return NextCmdAddress<ValueType>(cmd);
}
gpu::CommandHeader header;
uint32 target;
+ uint32 result_shm_id;
+ uint32 result_shm_offset;
};
-COMPILE_ASSERT(sizeof(CheckFramebufferStatus) == 8,
- Sizeof_CheckFramebufferStatus_is_not_8);
+COMPILE_ASSERT(sizeof(CheckFramebufferStatus) == 16,
+ Sizeof_CheckFramebufferStatus_is_not_16);
COMPILE_ASSERT(offsetof(CheckFramebufferStatus, header) == 0,
OffsetOf_CheckFramebufferStatus_header_not_0);
COMPILE_ASSERT(offsetof(CheckFramebufferStatus, target) == 4,
OffsetOf_CheckFramebufferStatus_target_not_4);
+COMPILE_ASSERT(offsetof(CheckFramebufferStatus, result_shm_id) == 8,
+ OffsetOf_CheckFramebufferStatus_result_shm_id_not_8);
+COMPILE_ASSERT(offsetof(CheckFramebufferStatus, result_shm_offset) == 12,
+ OffsetOf_CheckFramebufferStatus_result_shm_offset_not_12);
struct Clear {
typedef Clear ValueType;
diff --git a/gpu/command_buffer/common/gles2_cmd_format_test_autogen.h b/gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
index e53ac55..7cb1761 100644
--- a/gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
+++ b/gpu/command_buffer/common/gles2_cmd_format_test_autogen.h
@@ -273,13 +273,17 @@ TEST(GLES2FormatTest, CheckFramebufferStatus) {
CheckFramebufferStatus cmd = { { 0 } };
void* next_cmd = cmd.Set(
&cmd,
- static_cast<GLenum>(11));
+ static_cast<GLenum>(11),
+ static_cast<uint32>(12),
+ static_cast<uint32>(13));
EXPECT_EQ(static_cast<uint32>(CheckFramebufferStatus::kCmdId),
cmd.header.command);
EXPECT_EQ(sizeof(cmd), cmd.header.size * 4u);
EXPECT_EQ(static_cast<char*>(next_cmd),
reinterpret_cast<char*>(&cmd) + sizeof(cmd));
EXPECT_EQ(static_cast<GLenum>(11), cmd.target);
+ EXPECT_EQ(static_cast<uint32>(12), cmd.result_shm_id);
+ EXPECT_EQ(static_cast<uint32>(13), cmd.result_shm_offset);
}
TEST(GLES2FormatTest, Clear) {