• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "cc/test/test_texture.h"
6 
7 #include "gpu/GLES2/gl2extchromium.h"
8 #include "third_party/khronos/GLES2/gl2.h"
9 #include "third_party/khronos/GLES2/gl2ext.h"
10 
11 namespace cc {
12 
TextureSizeBytes(gfx::Size size,ResourceFormat format)13 size_t TextureSizeBytes(gfx::Size size, ResourceFormat format) {
14   unsigned int components_per_pixel = 4;
15   unsigned int bytes_per_component = 1;
16   return size.width() * size.height() * components_per_pixel *
17          bytes_per_component;
18 }
19 
TestTexture()20 TestTexture::TestTexture() : format(RGBA_8888) {
21   // Initialize default parameter values.
22   params[GL_TEXTURE_MAG_FILTER] = GL_LINEAR;
23   params[GL_TEXTURE_MIN_FILTER] = GL_NEAREST_MIPMAP_LINEAR;
24   params[GL_TEXTURE_WRAP_S] = GL_REPEAT;
25   params[GL_TEXTURE_WRAP_T] = GL_REPEAT;
26   params[GL_TEXTURE_POOL_CHROMIUM] = GL_TEXTURE_POOL_UNMANAGED_CHROMIUM;
27   params[GL_TEXTURE_USAGE_ANGLE] = GL_NONE;
28 }
29 
~TestTexture()30 TestTexture::~TestTexture() {}
31 
Reallocate(gfx::Size size,ResourceFormat format)32 void TestTexture::Reallocate(gfx::Size size, ResourceFormat format) {
33   this->size = size;
34   this->format = format;
35   this->data.reset(new uint8_t[TextureSizeBytes(size, format)]);
36 }
37 
IsValidParameter(blink::WGC3Denum pname)38 bool TestTexture::IsValidParameter(blink::WGC3Denum pname) {
39   return params.find(pname) != params.end();
40 }
41 
42 }  // namespace cc
43