blob: eecc0267537d11d75d139ae5cdb5d1cfbce330bd [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "modules/webgl/WebGLCompressedTextureETC1.h"
#include "modules/webgl/WebGLRenderingContextBase.h"
namespace blink {
WebGLCompressedTextureETC1::WebGLCompressedTextureETC1(
WebGLRenderingContextBase* context)
: WebGLExtension(context) {
context->addCompressedTextureFormat(GL_ETC1_RGB8_OES);
}
WebGLCompressedTextureETC1::~WebGLCompressedTextureETC1() {}
WebGLExtensionName WebGLCompressedTextureETC1::name() const {
return WebGLCompressedTextureETC1Name;
}
WebGLCompressedTextureETC1* WebGLCompressedTextureETC1::create(
WebGLRenderingContextBase* context) {
return new WebGLCompressedTextureETC1(context);
}
bool WebGLCompressedTextureETC1::supported(WebGLRenderingContextBase* context) {
Extensions3DUtil* extensionsUtil = context->extensionsUtil();
bool webgl1 = !context->isWebGL2OrHigher();
bool etc1 =
extensionsUtil->supportsExtension("GL_OES_compressed_ETC1_RGB8_texture");
bool etc =
extensionsUtil->supportsExtension("GL_CHROMIUM_compressed_texture_etc");
return (webgl1 || etc) && etc1;
}
const char* WebGLCompressedTextureETC1::extensionName() {
return "WEBGL_compressed_texture_etc1";
}
} // namespace blink