#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#ifndef GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_
#define GPU_COMMAND_BUFFER_SERVICE_TEXTURE_MANAGER_H_
#include <stddef.h>
#include <stdint.h>
#include <algorithm>
#include <memory>
#include <set>
#include <string>
#include <unordered_map>
#include <vector>
#include "base/gtest_prod_util.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/ref_counted.h"
#include "base/notreached.h"
#include "build/build_config.h"
#include "gpu/command_buffer/service/feature_info.h"
#include "gpu/command_buffer/service/gl_utils.h"
#include "gpu/command_buffer/service/memory_tracking.h"
#include "gpu/command_buffer/service/sampler_manager.h"
#include "gpu/command_buffer/service/shared_image/shared_image_representation.h"
#include "gpu/command_buffer/service/texture_base.h"
#include "gpu/gpu_gles2_export.h"
#include "ui/gfx/geometry/rect.h"
namespace gl {
class ProgressReporter;
}
namespace gpu {
class DecoderContext;
class ServiceDiscardableManager;
namespace gles2 {
struct ContextState;
struct DecoderFramebufferState;
class ErrorState;
class FeatureInfo;
class FramebufferManager;
class Texture;
class TextureManager;
class TextureRef;
class GPU_GLES2_EXPORT TexturePassthrough final
: public TextureBase,
public base::RefCounted<TexturePassthrough> { … };
class GPU_GLES2_EXPORT Texture final : public TextureBase { … };
class GPU_GLES2_EXPORT TextureRef : public base::RefCounted<TextureRef> { … };
struct DecoderTextureState { … };
class GPU_GLES2_EXPORT TextureManager
: public base::trace_event::MemoryDumpProvider { … };
}
}
#endif