#include "gpu/command_buffer/service/renderbuffer_manager.h"
#include <stddef.h>
#include <stdint.h>
#include "base/check_op.h"
#include "base/format_macros.h"
#include "base/strings/stringprintf.h"
#include "base/task/single_thread_task_runner.h"
#include "base/trace_event/memory_dump_manager.h"
#include "base/trace_event/trace_event.h"
#include "gpu/command_buffer/common/gles2_cmd_utils.h"
#include "gpu/command_buffer/service/feature_info.h"
#include "gpu/command_buffer/service/framebuffer_manager.h"
#include "gpu/command_buffer/service/gles2_cmd_decoder.h"
#include "gpu/command_buffer/service/memory_tracking.h"
#include "gpu/command_buffer/service/texture_manager.h"
#include "gpu/config/gpu_driver_bug_workarounds.h"
#include "ui/gl/gl_implementation.h"
#include "ui/gl/gl_version_info.h"
#include "ui/gl/trace_util.h"
namespace gpu {
namespace gles2 {
static const char RenderbufferTag[] = …;
struct RenderbufferSignature { … };
RenderbufferManager::RenderbufferManager(MemoryTracker* memory_tracker,
GLint max_renderbuffer_size,
GLint max_samples,
FeatureInfo* feature_info)
: … { … }
RenderbufferManager::~RenderbufferManager() { … }
size_t Renderbuffer::EstimatedSize() { … }
size_t Renderbuffer::GetSignatureSize() const { … }
void Renderbuffer::SetInfoAndInvalidate(GLsizei samples,
GLenum internalformat,
GLsizei width,
GLsizei height) { … }
void Renderbuffer::AddToSignature(std::string* signature) const { … }
Renderbuffer::Renderbuffer(RenderbufferManager* manager,
GLuint client_id,
GLuint service_id)
: … { … }
bool Renderbuffer::RegenerateAndBindBackingObjectIfNeeded(
const GpuDriverBugWorkarounds& workarounds) { … }
void Renderbuffer::AddFramebufferAttachmentPoint(Framebuffer* framebuffer,
GLenum attachment) { … }
void Renderbuffer::RemoveFramebufferAttachmentPoint(Framebuffer* framebuffer,
GLenum attachment) { … }
Renderbuffer::~Renderbuffer() { … }
void RenderbufferManager::Destroy(bool have_context) { … }
void RenderbufferManager::StartTracking(Renderbuffer* ) { … }
void RenderbufferManager::StopTracking(Renderbuffer* renderbuffer) { … }
void RenderbufferManager::SetInfoAndInvalidate(Renderbuffer* renderbuffer,
GLsizei samples,
GLenum internalformat,
GLsizei width,
GLsizei height) { … }
void RenderbufferManager::SetCleared(Renderbuffer* renderbuffer,
bool cleared) { … }
void RenderbufferManager::CreateRenderbuffer(
GLuint client_id, GLuint service_id) { … }
Renderbuffer* RenderbufferManager::GetRenderbuffer(
GLuint client_id) { … }
void RenderbufferManager::RemoveRenderbuffer(GLuint client_id) { … }
bool RenderbufferManager::ComputeEstimatedRenderbufferSize(
int width,
int height,
int samples,
int internal_format,
uint32_t* size) const { … }
GLenum RenderbufferManager::InternalRenderbufferFormatToImplFormat(
GLenum impl_format) const { … }
bool RenderbufferManager::OnMemoryDump(
const base::trace_event::MemoryDumpArgs& args,
base::trace_event::ProcessMemoryDump* pmd) { … }
}
}