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)19const 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()38error::Error CommandBuffer::GetLastError() { 39 return GetLastState().error; 40 } 41 42 } // namespace gpu 43 44 45