summaryrefslogtreecommitdiffstats
path: root/gpu/command_buffer/service/texture_manager.cc
diff options
context:
space:
mode:
authorgman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-22 05:17:15 +0000
committergman@chromium.org <gman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-22 05:17:15 +0000
commit1958e0ef0fe59e392cab9bb351401beeb64e8379 (patch)
tree2dab1d4b2cdbbb50c1c6263b85430988d0ebecdb /gpu/command_buffer/service/texture_manager.cc
parent9040ad23a3950685b08523d12305d9afcbbc7551 (diff)
downloadchromium_src-1958e0ef0fe59e392cab9bb351401beeb64e8379.zip
chromium_src-1958e0ef0fe59e392cab9bb351401beeb64e8379.tar.gz
chromium_src-1958e0ef0fe59e392cab9bb351401beeb64e8379.tar.bz2
A bunch more GLES2 conformance test fixes.
1) All the glIsXXX functions were wrong 2) unlike buffers, renderbuffers, framebuffers, etc texture 0 is valid. 3) UseProgram accepts 0. 4) make glShaderSource fail if passed a NULL pointer (the spec doesn't say this afaict) TEST=conformance tests BUG=none Review URL: http://codereview.chromium.org/1750005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45293 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/command_buffer/service/texture_manager.cc')
-rw-r--r--gpu/command_buffer/service/texture_manager.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/gpu/command_buffer/service/texture_manager.cc b/gpu/command_buffer/service/texture_manager.cc
index 4369199..a895e27 100644
--- a/gpu/command_buffer/service/texture_manager.cc
+++ b/gpu/command_buffer/service/texture_manager.cc
@@ -4,6 +4,7 @@
#include "gpu/command_buffer/service/texture_manager.h"
#include "base/bits.h"
+#include "gpu/command_buffer/common/gles2_cmd_utils.h"
#include "gpu/command_buffer/service/context_group.h"
#include "gpu/command_buffer/service/gles2_cmd_decoder.h"
@@ -263,6 +264,17 @@ TextureManager::TextureManager(
max_cube_map_levels_(ComputeMipMapCount(max_cube_map_texture_size,
max_cube_map_texture_size,
max_cube_map_texture_size)) {
+ default_texture_2d_ = TextureInfo::Ref(new TextureInfo(0));
+ SetInfoTarget(default_texture_2d_, GL_TEXTURE_2D);
+ default_texture_2d_->SetLevelInfo(
+ GL_TEXTURE_2D, 0, GL_RGBA, 1, 1, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE);
+ default_texture_cube_map_ = TextureInfo::Ref(new TextureInfo(0));
+ SetInfoTarget(default_texture_cube_map_, GL_TEXTURE_CUBE_MAP);
+ for (int ii = 0; ii < GLES2Util::kNumFaces; ++ii) {
+ default_texture_cube_map_->SetLevelInfo(
+ GLES2Util::IndexToGLFaceTarget(ii),
+ 0, GL_RGBA, 1, 1, 1, 0, GL_RGBA, GL_UNSIGNED_BYTE);
+ }
}
TextureManager::TextureInfo* TextureManager::CreateTextureInfo(