Index: gpu/command_buffer/service/texture_manager.cc |
diff --git a/gpu/command_buffer/service/texture_manager.cc b/gpu/command_buffer/service/texture_manager.cc |
index 0af36b51eeb59cf1b7e3b185b56804d17f4c44e2..9dc5cc9d924f19a2cd266043f24cb7cc38b4e178 100644 |
--- a/gpu/command_buffer/service/texture_manager.cc |
+++ b/gpu/command_buffer/service/texture_manager.cc |
@@ -21,50 +21,6 @@ |
namespace gpu { |
namespace gles2 { |
-static size_t GLTargetToFaceIndex(GLenum target) { |
- switch (target) { |
- case GL_TEXTURE_2D: |
- case GL_TEXTURE_EXTERNAL_OES: |
- case GL_TEXTURE_RECTANGLE_ARB: |
- return 0; |
- case GL_TEXTURE_CUBE_MAP_POSITIVE_X: |
- return 0; |
- case GL_TEXTURE_CUBE_MAP_NEGATIVE_X: |
- return 1; |
- case GL_TEXTURE_CUBE_MAP_POSITIVE_Y: |
- return 2; |
- case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: |
- return 3; |
- case GL_TEXTURE_CUBE_MAP_POSITIVE_Z: |
- return 4; |
- case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: |
- return 5; |
- default: |
- NOTREACHED(); |
- return 0; |
- } |
-} |
- |
-static size_t FaceIndexToGLTarget(size_t index) { |
- switch (index) { |
- case 0: |
- return GL_TEXTURE_CUBE_MAP_POSITIVE_X; |
- case 1: |
- return GL_TEXTURE_CUBE_MAP_NEGATIVE_X; |
- case 2: |
- return GL_TEXTURE_CUBE_MAP_POSITIVE_Y; |
- case 3: |
- return GL_TEXTURE_CUBE_MAP_NEGATIVE_Y; |
- case 4: |
- return GL_TEXTURE_CUBE_MAP_POSITIVE_Z; |
- case 5: |
- return GL_TEXTURE_CUBE_MAP_NEGATIVE_Z; |
- default: |
- NOTREACHED(); |
- return 0; |
- } |
-} |
- |
TextureManager::DestructionObserver::DestructionObserver() {} |
TextureManager::DestructionObserver::~DestructionObserver() {} |
@@ -257,12 +213,13 @@ void Texture::AddToSignature( |
DCHECK(feature_info); |
DCHECK(signature); |
DCHECK_GE(level, 0); |
- DCHECK_LT(static_cast<size_t>(GLTargetToFaceIndex(target)), |
+ size_t face_index = GLES2Util::GLTargetToFaceIndex(target); |
+ DCHECK_LT(static_cast<size_t>(face_index), |
level_infos_.size()); |
DCHECK_LT(static_cast<size_t>(level), |
- level_infos_[GLTargetToFaceIndex(target)].size()); |
+ level_infos_[face_index].size()); |
const Texture::LevelInfo& info = |
- level_infos_[GLTargetToFaceIndex(target)][level]; |
+ level_infos_[face_index][level]; |
*signature += base::StringPrintf( |
"|Texture|target=%04x|level=%d|internal_format=%04x" |
"|width=%d|height=%d|depth=%d|border=%d|format=%04x|type=%04x" |
@@ -293,7 +250,7 @@ bool Texture::MarkMipmapsGenerated( |
GLsizei height = info1.height; |
GLsizei depth = info1.depth; |
GLenum target = target_ == GL_TEXTURE_2D ? GL_TEXTURE_2D : |
- FaceIndexToGLTarget(ii); |
+ GLES2Util::IndexToGLFaceTarget(ii); |
int num_mips = |
TextureManager::ComputeMipMapCount(target_, width, height, depth); |
for (int level = 1; level < num_mips; ++level) { |
@@ -374,12 +331,13 @@ bool Texture::CanGenerateMipmaps( |
void Texture::SetLevelCleared(GLenum target, GLint level, bool cleared) { |
DCHECK_GE(level, 0); |
- DCHECK_LT(static_cast<size_t>(GLTargetToFaceIndex(target)), |
+ size_t face_index = GLES2Util::GLTargetToFaceIndex(target); |
+ DCHECK_LT(static_cast<size_t>(face_index), |
level_infos_.size()); |
DCHECK_LT(static_cast<size_t>(level), |
- level_infos_[GLTargetToFaceIndex(target)].size()); |
+ level_infos_[face_index].size()); |
Texture::LevelInfo& info = |
- level_infos_[GLTargetToFaceIndex(target)][level]; |
+ level_infos_[face_index][level]; |
UpdateMipCleared(&info, cleared); |
UpdateCleared(); |
} |
@@ -483,15 +441,16 @@ void Texture::SetLevelInfo( |
GLenum type, |
bool cleared) { |
DCHECK_GE(level, 0); |
- DCHECK_LT(static_cast<size_t>(GLTargetToFaceIndex(target)), |
+ size_t face_index = GLES2Util::GLTargetToFaceIndex(target); |
+ DCHECK_LT(static_cast<size_t>(face_index), |
level_infos_.size()); |
DCHECK_LT(static_cast<size_t>(level), |
- level_infos_[GLTargetToFaceIndex(target)].size()); |
+ level_infos_[face_index].size()); |
DCHECK_GE(width, 0); |
DCHECK_GE(height, 0); |
DCHECK_GE(depth, 0); |
Texture::LevelInfo& info = |
- level_infos_[GLTargetToFaceIndex(target)][level]; |
+ level_infos_[face_index][level]; |
info.target = target; |
info.level = level; |
info.internal_format = internal_format; |
@@ -529,10 +488,10 @@ bool Texture::ValidForTexture( |
GLsizei width, |
GLsizei height, |
GLenum type) const { |
- size_t face_index = GLTargetToFaceIndex(target); |
+ size_t face_index = GLES2Util::GLTargetToFaceIndex(target); |
if (level >= 0 && face_index < level_infos_.size() && |
static_cast<size_t>(level) < level_infos_[face_index].size()) { |
- const LevelInfo& info = level_infos_[GLTargetToFaceIndex(target)][level]; |
+ const LevelInfo& info = level_infos_[face_index][level]; |
int32 right; |
int32 top; |
return SafeAddInt32(xoffset, width, &right) && |
@@ -550,10 +509,10 @@ bool Texture::GetLevelSize( |
GLint target, GLint level, GLsizei* width, GLsizei* height) const { |
DCHECK(width); |
DCHECK(height); |
- size_t face_index = GLTargetToFaceIndex(target); |
+ size_t face_index = GLES2Util::GLTargetToFaceIndex(target); |
if (level >= 0 && face_index < level_infos_.size() && |
static_cast<size_t>(level) < level_infos_[face_index].size()) { |
- const LevelInfo& info = level_infos_[GLTargetToFaceIndex(target)][level]; |
+ const LevelInfo& info = level_infos_[face_index][level]; |
if (info.target != 0) { |
*width = info.width; |
*height = info.height; |
@@ -567,10 +526,10 @@ bool Texture::GetLevelType( |
GLint target, GLint level, GLenum* type, GLenum* internal_format) const { |
DCHECK(type); |
DCHECK(internal_format); |
- size_t face_index = GLTargetToFaceIndex(target); |
+ size_t face_index = GLES2Util::GLTargetToFaceIndex(target); |
if (level >= 0 && face_index < level_infos_.size() && |
static_cast<size_t>(level) < level_infos_[face_index].size()) { |
- const LevelInfo& info = level_infos_[GLTargetToFaceIndex(target)][level]; |
+ const LevelInfo& info = level_infos_[face_index][level]; |
if (info.target != 0) { |
*type = info.type; |
*internal_format = info.internal_format; |
@@ -780,7 +739,7 @@ bool Texture::ClearRenderableLevels(GLES2Decoder* decoder) { |
} |
bool Texture::IsLevelCleared(GLenum target, GLint level) const { |
- size_t face_index = GLTargetToFaceIndex(target); |
+ size_t face_index = GLES2Util::GLTargetToFaceIndex(target); |
if (face_index >= level_infos_.size() || |
level >= static_cast<GLint>(level_infos_[face_index].size())) { |
return true; |
@@ -802,7 +761,7 @@ void Texture::InitTextureMaxAnisotropyIfNeeded(GLenum target) { |
bool Texture::ClearLevel( |
GLES2Decoder* decoder, GLenum target, GLint level) { |
DCHECK(decoder); |
- size_t face_index = GLTargetToFaceIndex(target); |
+ size_t face_index = GLES2Util::GLTargetToFaceIndex(target); |
if (face_index >= level_infos_.size() || |
level >= static_cast<GLint>(level_infos_[face_index].size())) { |
return true; |
@@ -836,12 +795,13 @@ void Texture::SetLevelImage( |
GLint level, |
gfx::GLImage* image) { |
DCHECK_GE(level, 0); |
- DCHECK_LT(static_cast<size_t>(GLTargetToFaceIndex(target)), |
+ size_t face_index = GLES2Util::GLTargetToFaceIndex(target); |
+ DCHECK_LT(static_cast<size_t>(face_index), |
level_infos_.size()); |
DCHECK_LT(static_cast<size_t>(level), |
- level_infos_[GLTargetToFaceIndex(target)].size()); |
+ level_infos_[face_index].size()); |
Texture::LevelInfo& info = |
- level_infos_[GLTargetToFaceIndex(target)][level]; |
+ level_infos_[face_index][level]; |
DCHECK_EQ(info.target, target); |
DCHECK_EQ(info.level, level); |
info.image = image; |
@@ -855,15 +815,15 @@ gfx::GLImage* Texture::GetLevelImage(GLint target, GLint level) const { |
return NULL; |
} |
- size_t face_index = GLTargetToFaceIndex(target); |
+ size_t face_index = GLES2Util::GLTargetToFaceIndex(target); |
if (level >= 0 && face_index < level_infos_.size() && |
static_cast<size_t>(level) < level_infos_[face_index].size()) { |
- const LevelInfo& info = level_infos_[GLTargetToFaceIndex(target)][level]; |
+ const LevelInfo& info = level_infos_[face_index][level]; |
if (info.target != 0) { |
return info.image.get(); |
} |
} |
- return 0; |
+ return NULL; |
} |
void Texture::OnWillModifyPixels() { |