dom/canvas/WebGLExtensionTextureFloatLinear.cpp
author Alex Gaynor <agaynor@mozilla.com>
Mon, 27 Nov 2017 14:37:34 -0600
changeset 403385 bcc0a91dd43feae18d4bf04d7db3d146035aa416
parent 376313 8c45ffb923524966636a2b2c73ccb4e05b928021
child 448947 6f3709b3878117466168c40affa7bca0b60cf75b
permissions -rw-r--r--
Bug 1407693 - Part 2 - when a child process crashes, write extra annotation data to a pre-opened file descriptor instead of creating a new file; r=gsvelto,rbarker This removes the need for the content process to have permissions to create new files on macOS, allowing more aggressive sandboxing. MozReview-Commit-ID: 8agL5jwxDSL

/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
 * You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "WebGLExtensions.h"

#include "GLContext.h"
#include "mozilla/dom/WebGLRenderingContextBinding.h"
#include "WebGLContext.h"
#include "WebGLFormats.h"

namespace mozilla {

WebGLExtensionTextureFloatLinear::WebGLExtensionTextureFloatLinear(WebGLContext* webgl)
    : WebGLExtensionBase(webgl)
{
    auto& fua = webgl->mFormatUsage;

    fua->EditUsage(webgl::EffectiveFormat::RGBA32F)->isFilterable = true;
    fua->EditUsage(webgl::EffectiveFormat::RGB32F)->isFilterable = true;

    if (webgl->IsWebGL2()) {
        fua->EditUsage(webgl::EffectiveFormat::R32F)->isFilterable = true;
        fua->EditUsage(webgl::EffectiveFormat::RG32F)->isFilterable = true;
    } else {
        fua->EditUsage(webgl::EffectiveFormat::Luminance32FAlpha32F)->isFilterable = true;
        fua->EditUsage(webgl::EffectiveFormat::Luminance32F)->isFilterable = true;
        fua->EditUsage(webgl::EffectiveFormat::Alpha32F)->isFilterable = true;
    }
}

WebGLExtensionTextureFloatLinear::~WebGLExtensionTextureFloatLinear()
{
}

IMPL_WEBGL_EXTENSION_GOOP(WebGLExtensionTextureFloatLinear, OES_texture_float_linear)

} // namespace mozilla