910e62b5创建于 1月15日历史提交
// Copyright 2009 The Chromium Authors
// 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.

// We explicitly do NOT include gles2_cmd_format.h here because client side
// and service side have different requirements.

#include <stddef.h>

#include <array>

#include "gpu/command_buffer/common/cmd_buffer_common.h"

namespace gpu {
namespace gles2 {

#include "gpu/command_buffer/common/gles2_cmd_ids_autogen.h"

const char* GetCommandName(CommandId id) {
  static const auto names = std::to_array<const char*>({
#define GLES2_CMD_OP(name) "k" #name,

      GLES2_COMMAND_LIST(GLES2_CMD_OP)

#undef GLES2_CMD_OP
  });

  size_t index = static_cast<size_t>(id) - kFirstGLES2Command;
  return (index < std::size(names)) ? names[index] : "*unknown-command*";
}

}  // namespace gles2
}  // namespace gpu