Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(389)

Unified Diff: gpu/command_buffer/service/texture_manager.cc

Issue 8515023: Allow deleted resources to be used (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 e5ace9f8b912c91606779728ec16485269ecc4a7..3a433d3105937f88716c6ad384aee09e2ad6d91a 100644
--- a/gpu/command_buffer/service/texture_manager.cc
+++ b/gpu/command_buffer/service/texture_manager.cc
@@ -88,7 +88,7 @@ void TextureManager::Destroy(bool have_context) {
bool TextureManager::TextureInfo::CanRender(
const FeatureInfo* feature_info) const {
- if (target_ == 0 || IsDeleted()) {
+ if (target_ == 0) {
return false;
}
bool needs_mips = NeedsMips();
@@ -160,7 +160,7 @@ void TextureManager::TextureInfo::SetTarget(GLenum target, GLint max_levels) {
bool TextureManager::TextureInfo::CanGenerateMipmaps(
const FeatureInfo* feature_info) const {
if ((npot() && !feature_info->feature_flags().npot_ok) ||
- level_infos_.empty() || IsDeleted() ||
+ level_infos_.empty() ||
target_ == GL_TEXTURE_EXTERNAL_OES) {
return false;
}
@@ -272,7 +272,7 @@ bool TextureManager::TextureInfo::ValidForTexture(
GLenum format,
GLenum type) const {
size_t face_index = GLTargetToFaceIndex(face);
- if (!IsDeleted() && level >= 0 && face_index < level_infos_.size() &&
+ if (level >= 0 && face_index < level_infos_.size() &&
static_cast<size_t>(level) < level_infos_[face_index].size()) {
const LevelInfo& info = level_infos_[GLTargetToFaceIndex(face)][level];
GLint right;
@@ -294,7 +294,7 @@ bool TextureManager::TextureInfo::GetLevelSize(
DCHECK(width);
DCHECK(height);
size_t face_index = GLTargetToFaceIndex(face);
- if (!IsDeleted() && level >= 0 && face_index < level_infos_.size() &&
+ if (level >= 0 && face_index < level_infos_.size() &&
static_cast<size_t>(level) < level_infos_[face_index].size()) {
const LevelInfo& info = level_infos_[GLTargetToFaceIndex(face)][level];
if (info.target != 0) {
@@ -311,7 +311,7 @@ bool TextureManager::TextureInfo::GetLevelType(
DCHECK(type);
DCHECK(internal_format);
size_t face_index = GLTargetToFaceIndex(face);
- if (!IsDeleted() && level >= 0 && face_index < level_infos_.size() &&
+ if (level >= 0 && face_index < level_infos_.size() &&
static_cast<size_t>(level) < level_infos_[face_index].size()) {
const LevelInfo& info = level_infos_[GLTargetToFaceIndex(face)][level];
if (info.target != 0) {
@@ -479,8 +479,7 @@ bool TextureManager::TextureInfo::ClearRenderableLevels(GLES2Decoder* decoder) {
bool TextureManager::TextureInfo::IsLevelCleared(GLenum target, GLint level) {
size_t face_index = GLTargetToFaceIndex(target);
- if (IsDeleted() ||
- face_index >= level_infos_.size() ||
+ if (face_index >= level_infos_.size() ||
level >= static_cast<GLint>(level_infos_[face_index].size())) {
return true;
}
@@ -494,8 +493,7 @@ bool TextureManager::TextureInfo::ClearLevel(
GLES2Decoder* decoder, GLenum target, GLint level) {
DCHECK(decoder);
size_t face_index = GLTargetToFaceIndex(target);
- if (IsDeleted() ||
- face_index >= level_infos_.size() ||
+ if (face_index >= level_infos_.size() ||
level >= static_cast<GLint>(level_infos_[face_index].size())) {
return true;
}
@@ -650,7 +648,6 @@ void TextureManager::SetInfoTarget(
void TextureManager::SetLevelCleared(
TextureManager::TextureInfo* info, GLenum target, GLint level) {
DCHECK(info);
- DCHECK(!info->IsDeleted());
if (!info->SafeToRenderFrom()) {
DCHECK_NE(0, num_unsafe_textures_);
--num_unsafe_textures_;
@@ -667,7 +664,6 @@ void TextureManager::SetLevelCleared(
bool TextureManager::ClearRenderableLevels(
GLES2Decoder* decoder,TextureManager::TextureInfo* info) {
DCHECK(info);
- DCHECK(!info->IsDeleted());
if (info->SafeToRenderFrom()) {
return true;
}
@@ -687,7 +683,6 @@ bool TextureManager::ClearTextureLevel(
GLES2Decoder* decoder,TextureManager::TextureInfo* info,
GLenum target, GLint level) {
DCHECK(info);
- DCHECK(!info->IsDeleted());
if (info->num_uncleared_mips() == 0) {
return true;
}
@@ -720,7 +715,6 @@ void TextureManager::SetLevelInfo(
GLenum type,
bool cleared) {
DCHECK(info);
- DCHECK(!info->IsDeleted());
if (!info->CanRender(feature_info)) {
DCHECK_NE(0, num_unrenderable_textures_);
--num_unrenderable_textures_;
@@ -748,7 +742,6 @@ bool TextureManager::SetParameter(
TextureManager::TextureInfo* info, GLenum pname, GLint param) {
DCHECK(feature_info);
DCHECK(info);
- DCHECK(!info->IsDeleted());
if (!info->CanRender(feature_info)) {
DCHECK_NE(0, num_unrenderable_textures_);
--num_unrenderable_textures_;
@@ -771,7 +764,6 @@ bool TextureManager::MarkMipmapsGenerated(
const FeatureInfo* feature_info,
TextureManager::TextureInfo* info) {
DCHECK(info);
- DCHECK(!info->IsDeleted());
if (!info->CanRender(feature_info)) {
DCHECK_NE(0, num_unrenderable_textures_);
--num_unrenderable_textures_;
« no previous file with comments | « gpu/command_buffer/service/gles2_cmd_decoder_unittest.cc ('k') | gpu/command_buffer/service/texture_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698