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.
5 #include "cc/test/test_texture.h"
7 #include "gpu/GLES2/gl2extchromium.h"
8 #include "third_party/khronos/GLES2/gl2ext.h"
12 size_t TextureSizeBytes(const gfx::Size
& size
, ResourceFormat format
) {
13 unsigned int components_per_pixel
= 4;
14 unsigned int bytes_per_component
= 1;
15 return size
.width() * size
.height() * components_per_pixel
*
19 TestTexture::TestTexture() : format(RGBA_8888
) {
20 // Initialize default parameter values.
21 params
[GL_TEXTURE_MAG_FILTER
] = GL_LINEAR
;
22 params
[GL_TEXTURE_MIN_FILTER
] = GL_NEAREST_MIPMAP_LINEAR
;
23 params
[GL_TEXTURE_WRAP_S
] = GL_REPEAT
;
24 params
[GL_TEXTURE_WRAP_T
] = GL_REPEAT
;
25 params
[GL_TEXTURE_POOL_CHROMIUM
] = GL_TEXTURE_POOL_UNMANAGED_CHROMIUM
;
26 params
[GL_TEXTURE_USAGE_ANGLE
] = GL_NONE
;
29 TestTexture::~TestTexture() {}
31 void TestTexture::Reallocate(const gfx::Size
& size
, ResourceFormat format
) {
33 this->format
= format
;
34 this->data
.reset(new uint8_t[TextureSizeBytes(size
, format
)]);
37 bool TestTexture::IsValidParameter(GLenum pname
) {
38 return params
.find(pname
) != params
.end();