LCOV - code coverage report
Current view: top level - dom/canvas - WebGLExtensionCompressedTextureS3TC.cpp (source / functions) Hit Total Coverage
Test: output.info Lines: 0 25 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 6 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* This Source Code Form is subject to the terms of the Mozilla Public
       2             :  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
       3             :  * You can obtain one at http://mozilla.org/MPL/2.0/. */
       4             : 
       5             : #include "WebGLExtensions.h"
       6             : 
       7             : #include "GLContext.h"
       8             : #include "mozilla/dom/WebGLRenderingContextBinding.h"
       9             : #include "WebGLContext.h"
      10             : 
      11             : #ifdef FOO
      12             : #error FOO is already defined! We use FOO() macros to keep things succinct in this file.
      13             : #endif
      14             : 
      15             : namespace mozilla {
      16             : 
      17           0 : WebGLExtensionCompressedTextureS3TC::WebGLExtensionCompressedTextureS3TC(WebGLContext* webgl)
      18           0 :     : WebGLExtensionBase(webgl)
      19             : {
      20           0 :     RefPtr<WebGLContext> webgl_ = webgl; // Bug 1201275
      21           0 :     const auto fnAdd = [&webgl_](GLenum sizedFormat, webgl::EffectiveFormat effFormat) {
      22           0 :         auto& fua = webgl_->mFormatUsage;
      23             : 
      24           0 :         auto usage = fua->EditUsage(effFormat);
      25           0 :         usage->isFilterable = true;
      26           0 :         fua->AllowSizedTexFormat(sizedFormat, usage);
      27             : 
      28           0 :         webgl_->mCompressedTextureFormats.AppendElement(sizedFormat);
      29           0 :     };
      30             : 
      31             : #define FOO(x) LOCAL_GL_ ## x, webgl::EffectiveFormat::x
      32             : 
      33           0 :     fnAdd(FOO(COMPRESSED_RGB_S3TC_DXT1_EXT));
      34           0 :     fnAdd(FOO(COMPRESSED_RGBA_S3TC_DXT1_EXT));
      35           0 :     fnAdd(FOO(COMPRESSED_RGBA_S3TC_DXT3_EXT));
      36           0 :     fnAdd(FOO(COMPRESSED_RGBA_S3TC_DXT5_EXT));
      37             : 
      38             : #undef FOO
      39           0 : }
      40             : 
      41           0 : WebGLExtensionCompressedTextureS3TC::~WebGLExtensionCompressedTextureS3TC()
      42             : {
      43           0 : }
      44             : 
      45             : bool
      46           0 : WebGLExtensionCompressedTextureS3TC::IsSupported(const WebGLContext* webgl)
      47             : {
      48           0 :    gl::GLContext* gl = webgl->GL();
      49           0 :    if (gl->IsExtensionSupported(gl::GLContext::EXT_texture_compression_s3tc))
      50           0 :       return true;
      51             : 
      52           0 :    return gl->IsExtensionSupported(gl::GLContext::EXT_texture_compression_dxt1) &&
      53           0 :           gl->IsExtensionSupported(gl::GLContext::ANGLE_texture_compression_dxt3) &&
      54           0 :           gl->IsExtensionSupported(gl::GLContext::ANGLE_texture_compression_dxt5);
      55             : }
      56             : 
      57           0 : IMPL_WEBGL_EXTENSION_GOOP(WebGLExtensionCompressedTextureS3TC, WEBGL_compressed_texture_s3tc)
      58             : 
      59             : } // namespace mozilla

Generated by: LCOV version 1.13