#ifndef LIBANGLE_TEXTURE_H_
#define LIBANGLE_TEXTURE_H_
#include <map>
#include <vector>
#include "angle_gl.h"
#include "common/Optional.h"
#include "common/debug.h"
#include "common/utilities.h"
#include "libANGLE/Caps.h"
#include "libANGLE/Constants.h"
#include "libANGLE/Debug.h"
#include "libANGLE/Error.h"
#include "libANGLE/FramebufferAttachment.h"
#include "libANGLE/Image.h"
#include "libANGLE/Observer.h"
#include "libANGLE/Stream.h"
#include "libANGLE/angletypes.h"
#include "libANGLE/formatutils.h"
namespace egl
{
class Surface;
class Stream;
}
namespace rx
{
class GLImplFactory;
class TextureImpl;
class TextureGL;
}
namespace gl
{
class Framebuffer;
class MemoryObject;
class Sampler;
class State;
class Texture;
constexpr GLuint kInitialMaxLevel = …;
bool IsMipmapFiltered(GLenum minFilterMode);
GLenum ConvertToNearestFilterMode(GLenum filterMode);
GLenum ConvertToNearestMipFilterMode(GLenum filterMode);
struct ImageDesc final
{ … };
struct SwizzleState final
{ … };
class TextureState final : private angle::NonCopyable
{ … };
bool operator==(const TextureState &a, const TextureState &b);
bool operator!=(const TextureState &a, const TextureState &b);
class TextureBufferContentsObservers final : angle::NonCopyable
{ … };
class Texture final : public RefCountObject<TextureID>,
public egl::ImageSibling,
public LabeledObject
{ … };
inline bool operator==(const TextureState &a, const TextureState &b)
{ … }
inline bool operator!=(const TextureState &a, const TextureState &b)
{ … }
}
#endif