Edit

kc3-lang/angle/src/libANGLE/validationES31.cpp

Branch :

  • Show log

    Commit

  • Author : Geoff Lang
    Date : 2016-10-31 13:06:12
    Hash : eb66a6e2
    Message : Replace the GLVersion class with gl::Version. Update code to use gl::Version in as many places as possible to ease ES 3.1 support. BUG=angleproject:1588 Change-Id: I3490b53a81027cf849dac551a9cc66ce04506144 Reviewed-on: https://chromium-review.googlesource.com/404946 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>

  • src/libANGLE/validationES31.cpp
  • //
    // Copyright (c) 2016 The ANGLE Project Authors. All rights reserved.
    // Use of this source code is governed by a BSD-style license that can be
    // found in the LICENSE file.
    //
    
    // validationES31.cpp: Validation functions for OpenGL ES 3.1 entry point parameters
    
    #include "libANGLE/validationES31.h"
    
    #include "libANGLE/Context.h"
    #include "libANGLE/validationES.h"
    #include "libANGLE/validationES3.h"
    
    using namespace angle;
    
    namespace gl
    {
    
    bool ValidateGetBooleani_v(Context *context, GLenum target, GLuint index, GLboolean *data)
    {
        if (context->getClientVersion() < ES_3_1)
        {
            context->handleError(Error(GL_INVALID_OPERATION, "Context does not support GLES3.1"));
            return false;
        }
    
        if (!ValidateIndexedStateQuery(context, target, index, nullptr))
        {
            return false;
        }
    
        return true;
    }
    
    bool ValidateGetBooleani_vRobustANGLE(Context *context,
                                          GLenum target,
                                          GLuint index,
                                          GLsizei bufSize,
                                          GLsizei *length,
                                          GLboolean *data)
    {
        if (context->getClientVersion() < ES_3_1)
        {
            context->handleError(Error(GL_INVALID_OPERATION, "Context does not support GLES3.1"));
            return false;
        }
    
        if (!ValidateRobustEntryPoint(context, bufSize))
        {
            return false;
        }
    
        if (!ValidateIndexedStateQuery(context, target, index, length))
        {
            return false;
        }
    
        if (!ValidateRobustBufferSize(context, bufSize, *length))
        {
            return false;
        }
    
        return true;
    }
    
    }  // namespace gl