| Index: gpu/command_buffer/service/common_decoder.h
|
| diff --git a/gpu/command_buffer/service/common_decoder.h b/gpu/command_buffer/service/common_decoder.h
|
| index aaf860fd7b33068540206603da3162a9fbab871a..fc9ecf22433266fe4351b7a07e959a09437e3626 100644
|
| --- a/gpu/command_buffer/service/common_decoder.h
|
| +++ b/gpu/command_buffer/service/common_decoder.h
|
| @@ -155,9 +155,7 @@ class GPU_EXPORT CommonDecoder : NON_EXPORTED_BASE(public AsyncAPIInterface) {
|
| // Generate a member function prototype for each command in an automated and
|
| // typesafe way.
|
| #define COMMON_COMMAND_BUFFER_CMD_OP(name) \
|
| - error::Error Handle##name( \
|
| - uint32 immediate_data_size, \
|
| - const cmd::name& args); \
|
| + error::Error Handle##name(uint32 immediate_data_size, const void* data);
|
|
|
| COMMON_COMMAND_BUFFER_CMDS(COMMON_COMMAND_BUFFER_CMD_OP)
|
|
|
| @@ -167,6 +165,22 @@ class GPU_EXPORT CommonDecoder : NON_EXPORTED_BASE(public AsyncAPIInterface) {
|
|
|
| typedef std::map<uint32, linked_ptr<Bucket> > BucketMap;
|
| BucketMap buckets_;
|
| +
|
| + typedef Error (CommonDecoder::*CmdHandler)(
|
| + uint32 immediate_data_size,
|
| + const void* data);
|
| +
|
| + // A struct to hold info about each command.
|
| + struct CommandInfo {
|
| + CmdHandler cmd_handler;
|
| + uint8 arg_flags; // How to handle the arguments for this command
|
| + uint8 cmd_flags; // How to handle this command
|
| + uint16 arg_count; // How many arguments are expected for this command.
|
| + };
|
| +
|
| + // A table of CommandInfo for all the commands.
|
| + static const CommandInfo command_info[];
|
| +
|
| };
|
|
|
| } // namespace gpu
|
|
|