blob: 444834b91c6e21b9ee4e0a49add4247786a84c82 [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 "third_party/blink/renderer/modules/webgl/webgl_compressed_texture_etc.h"
#include "third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h"
namespace blink {
WebGLCompressedTextureETC::WebGLCompressedTextureETC(
WebGLRenderingContextBase* context)
: WebGLExtension(context) {
context->ExtensionsUtil()->EnsureExtensionEnabled(
"GL_CHROMIUM_compressed_texture_etc");
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 MakeGarbageCollected<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