dom/canvas/WebGL1ContextUniforms.cpp
author Jeff Gilbert <jgilbert@mozilla.com>
Thu, 21 Jul 2016 23:25:41 -0700
changeset 805857 8c8bd01631d6f02c6ba571626a552a5a3505bb08
parent 419247 dfe2490b2b2be3b2d0f2ba30a236e142057d01fa
child 932624 facf9b9a374fbdcfcf1594c266cb3546e3e28f96
child 1037572 09ef6a4f41186ea6951830d1506f741005dcc46f
permissions -rw-r--r--
Bug 1288649 - Fix non-unified-build errors. - r=ethlin MozReview-Commit-ID: EI7FtmuEBl7

/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/* 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 "WebGL1Context.h"

namespace mozilla {

bool
WebGL1Context::ValidateAttribPointerType(bool /*integerMode*/, GLenum type,
                                         uint32_t* out_alignment, const char* info)
{
    MOZ_ASSERT(out_alignment);
    if (!out_alignment)
        return false;

    switch (type) {
    case LOCAL_GL_BYTE:
    case LOCAL_GL_UNSIGNED_BYTE:
        *out_alignment = 1;
        return true;

    case LOCAL_GL_SHORT:
    case LOCAL_GL_UNSIGNED_SHORT:
        *out_alignment = 2;
        return true;
        // XXX case LOCAL_GL_FIXED:
    case LOCAL_GL_FLOAT:
        *out_alignment = 4;
        return true;
    }

    ErrorInvalidEnumInfo(info, type);
    return false;
}

bool
WebGL1Context::ValidateUniformMatrixTranspose(bool transpose, const char* info)
{
    if (transpose) {
        ErrorInvalidValue("%s: transpose must be FALSE as per the "
                          "OpenGL ES 2.0 spec", info);
        return false;
    }

    return true;
}

} // namespace mozilla