• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 // This file contains the binary format definition of the command buffer and
6 // command buffer commands.
7 
8 #include "gpu/command_buffer/common/cmd_buffer_common.h"
9 
10 #include "gpu/command_buffer/common/command_buffer.h"
11 
12 namespace gpu {
13 #if !defined(_WIN32)
14 // gcc needs this to link, but MSVC requires it not be present
15 const int32 CommandHeader::kMaxSize;
16 #endif
17 namespace cmd {
18 
GetCommandName(CommandId command_id)19 const char* GetCommandName(CommandId command_id) {
20   static const char* const names[] = {
21   #define COMMON_COMMAND_BUFFER_CMD_OP(name) # name,
22 
23   COMMON_COMMAND_BUFFER_CMDS(COMMON_COMMAND_BUFFER_CMD_OP)
24 
25   #undef COMMON_COMMAND_BUFFER_CMD_OP
26   };
27 
28   int id = static_cast<int>(command_id);
29   return (id >= 0 && id < kNumCommands) ? names[id] : "*unknown-command*";
30 }
31 
32 }  // namespace cmd
33 
34 // TODO(apatrick): this is a temporary optimization while skia is calling
35 // RendererGLContext::MakeCurrent prior to every GL call. It saves returning 6
36 // ints redundantly when only the error is needed for the CommandBufferProxy
37 // implementation.
GetLastError()38 error::Error CommandBuffer::GetLastError() {
39   return GetLastState().error;
40 }
41 
42 }  // namespace gpu
43 
44 
45