Home | History | Annotate | Download | only in common
      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 
     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.
     38 error::Error CommandBuffer::GetLastError() {
     39   return GetLastState().error;
     40 }
     41 
     42 }  // namespace gpu
     43 
     44 
     45