blob: 793d3127aaff62693edc34e4c2458dc6127e74bf [file] [log] [blame]
// Copyright 2016 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/WebGLCompressedTextureETC.h"
#include "modules/webgl/WebGLRenderingContextBase.h"
namespace blink {
WebGLCompressedTextureETC::WebGLCompressedTextureETC(
WebGLRenderingContextBase* context)
: WebGLExtension(context) {
context->AddCompressedTextureFormat(GL_COMPRESSED_R11_EAC);
context->AddCompressedTextureFormat(GL_COMPRESSED_SIGNED_R11_EAC);
context->AddCompressedTextureFormat(GL_COMPRESSED_RGB8_ETC2);
context->AddCompressedTextureFormat(GL_COMPRESSED_SRGB8_ETC2);
context->AddCompressedTextureFormat(
GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2);
context->AddCompressedTextureFormat(
GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2);
context->AddCompressedTextureFormat(GL_COMPRESSED_RG11_EAC);
context->AddCompressedTextureFormat(GL_COMPRESSED_SIGNED_RG11_EAC);
context->AddCompressedTextureFormat(GL_COMPRESSED_RGBA8_ETC2_EAC);
context->AddCompressedTextureFormat(GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC);
}
WebGLExtensionName WebGLCompressedTextureETC::GetName() const {
return kWebGLCompressedTextureETCName;
}
WebGLCompressedTextureETC* WebGLCompressedTextureETC::Create(
WebGLRenderingContextBase* context) {
return new WebGLCompressedTextureETC(context);
}
bool WebGLCompressedTextureETC::Supported(WebGLRenderingContextBase* context) {
Extensions3DUtil* extensions_util = context->ExtensionsUtil();
return extensions_util->SupportsExtension(
"GL_CHROMIUM_compressed_texture_etc");
}
const char* WebGLCompressedTextureETC::ExtensionName() {
return "WEBGL_compressed_texture_etc";
}
} // namespace blink