chromium/gpu/command_buffer/common/gles2_cmd_format.h

// Copyright 2012 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 defines the GLES2 command buffer commands.

#ifndef GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_H_
#define GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_H_

#include <stddef.h>
#include <stdint.h>
#include <string.h>

#include "base/atomicops.h"
#include "base/check_op.h"
#include "base/rand_util.h"
#include "base/trace_event/trace_event.h"
#include "gpu/command_buffer/common/cmd_buffer_common.h"
#include "gpu/command_buffer/common/common_cmd_format.h"
#include "gpu/command_buffer/common/constants.h"
#include "gpu/command_buffer/common/gl2_types.h"
#include "gpu/command_buffer/common/gles2_cmd_ids.h"
#include "gpu/command_buffer/common/gles2_cmd_utils.h"

namespace gpu {
namespace gles2 {

// Command buffer is GPU_COMMAND_BUFFER_ENTRY_ALIGNMENT byte aligned.
#pragma pack(push, 4)
static_assert;

namespace id_namespaces {

// These are used when contexts share resources.
enum class SharedIdNamespaces {};

enum class IdNamespaces {};

enum RangeIdNamespaces {};

// These numbers must not change
static_assert;
static_assert;
static_assert;
static_assert;
static_assert;
static_assert;
static_assert;
static_assert;
static_assert;
static_assert;
static_assert;
static_assert;

}  // namespace id_namespaces

// The data for one attrib or uniform from GetProgramInfoCHROMIUM.
struct ProgramInput {};

// The format of the bucket filled out by GetProgramInfoCHROMIUM
struct ProgramInfoHeader {};

// The data for one UniformBlock from GetProgramInfoCHROMIUM
struct UniformBlockInfo {};

// The format of the bucket filled out by GetUniformBlocksCHROMIUM
struct UniformBlocksHeader {};

// The data for one TransformFeedbackVarying from
// GetTransformFeedbackVaringCHROMIUM.
struct TransformFeedbackVaryingInfo {};

// The format of the bucket filled out by GetTransformFeedbackVaryingsCHROMIUM
struct TransformFeedbackVaryingsHeader {};

// Parameters of a uniform that can be queried through glGetActiveUniformsiv,
// but not through glGetActiveUniform.
struct UniformES3Info {};

// The format of the bucket filled out by GetUniformsivES3CHROMIUM
struct UniformsES3Header {};

struct DisjointValueSync {};

static_assert;
static_assert;
static_assert;

static_assert;
static_assert;
static_assert;
static_assert;
static_assert;
static_assert;

static_assert;
static_assert;
static_assert;
static_assert;

static_assert;
static_assert;
static_assert;
static_assert;
static_assert;
static_assert;
static_assert;
static_assert;
static_assert;

static_assert;
static_assert;

enum class GLES2ReturnDataType : uint32_t {};

namespace cmds {

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

struct GLES2ReturnDataHeader {};
static_assert;
static_assert;

struct GLES2ReturnProgramInfo {};
static_assert;
static_assert;
static_assert;
static_assert;

#pragma pack(pop)

}  // namespace cmd
}  // namespace gles2
}  // namespace gpu

#endif  // GPU_COMMAND_BUFFER_COMMON_GLES2_CMD_FORMAT_H_