#ifndef LIBANGLE_STATE_H_
#define LIBANGLE_STATE_H_
#include <bitset>
#include <memory>
#include "common/Color.h"
#include "common/angleutils.h"
#include "common/bitset_utils.h"
#include "libANGLE/ContextMutex.h"
#include "libANGLE/Debug.h"
#include "libANGLE/GLES1State.h"
#include "libANGLE/Overlay.h"
#include "libANGLE/Program.h"
#include "libANGLE/ProgramExecutable.h"
#include "libANGLE/ProgramPipeline.h"
#include "libANGLE/RefCountObject.h"
#include "libANGLE/Renderbuffer.h"
#include "libANGLE/Sampler.h"
#include "libANGLE/Texture.h"
#include "libANGLE/TransformFeedback.h"
#include "libANGLE/Version.h"
#include "libANGLE/VertexArray.h"
#include "libANGLE/angletypes.h"
namespace egl
{
class ShareGroup;
}
namespace gl
{
class BufferManager;
struct Caps;
class Context;
class FramebufferManager;
class MemoryObjectManager;
class ProgramPipelineManager;
class Query;
class RenderbufferManager;
class SamplerManager;
class SemaphoreManager;
class ShaderProgramManager;
class SyncManager;
class TextureManager;
class VertexArray;
static constexpr Version ES_1_0 = …;
static constexpr Version ES_1_1 = …;
static constexpr Version ES_2_0 = …;
static constexpr Version ES_3_0 = …;
static constexpr Version ES_3_1 = …;
static constexpr Version ES_3_2 = …;
BufferBindingMap;
BoundBufferMap;
TextureBindingVector;
TextureBindingMap;
ActiveQueryMap;
class ActiveTexturesCache final : angle::NonCopyable
{ … };
namespace state
{
enum DirtyBitType
{ … };
static_assert …;
DirtyBits;
enum ExtendedDirtyBitType
{ … };
static_assert …;
ExtendedDirtyBits;
enum DirtyObjectType
{ … };
DirtyObjects;
}
class PrivateState : angle::NonCopyable
{ … };
class State : angle::NonCopyable
{ … };
ANGLE_INLINE angle::Result State::syncDirtyObjects(const Context *context,
const state::DirtyObjects &bitset,
Command command)
{ … }
}
#endif