blob: f337e86dbf735548b0fab88033a43383d4c7f15a [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// This file contains the binary format definition of the command buffer and
// command buffer commands.
#include "gpu/command_buffer/common/cmd_buffer_common.h"
#include "gpu/command_buffer/common/command_buffer.h"
namespace gpu {
#if !defined(_WIN32)
// gcc needs this to link, but MSVC requires it not be present
const int32 CommandHeader::kMaxSize;
namespace cmd {
const char* GetCommandName(CommandId command_id) {
static const char* const names[] = {
#define COMMON_COMMAND_BUFFER_CMD_OP(name) # name,
int id = static_cast<int>(command_id);
return (id >= 0 && id < kNumCommands) ? names[id] : "*unknown-command*";
} // namespace cmd
#if !defined(NACL_WIN64)
// TODO(apatrick): this is a temporary optimization while skia is calling
// RendererGLContext::MakeCurrent prior to every GL call. It saves returning 6
// ints redundantly when only the error is needed for the CommandBufferProxy
// implementation.
error::Error CommandBuffer::GetLastError() {
return GetLastState().error;
} // namespace gpu