Edit

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

Branch :

  • Show log

    Commit

  • Author : Jamie Madill
    Date : 2015-01-05 16:17:00
    Hash : dff56337
    Message : Ensure all source files end in a newline. This fixes compile errors on OSX. BUG=angle:773 Change-Id: I11ce9fd470a54b08656a62afc50586e5d2f987d8 Reviewed-on: https://chromium-review.googlesource.com/238446 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>

  • src/libANGLE/VertexAttribute.cpp
  • //
    // Copyright 2014 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.
    //
    // Implementation of the state class for mananging GLES 3 Vertex Array Objects.
    //
    
    #include "libANGLE/VertexAttribute.h"
    
    namespace gl
    {
    
    VertexAttribute::VertexAttribute()
        : enabled(false),
          type(GL_FLOAT),
          size(4),
          normalized(false),
          pureInteger(false),
          stride(0),
          pointer(NULL),
          divisor(0)
    {
    }
    
    size_t ComputeVertexAttributeTypeSize(const VertexAttribute& attrib)
    {
        GLuint size = attrib.size;
        switch (attrib.type)
        {
          case GL_BYTE:                        return size * sizeof(GLbyte);
          case GL_UNSIGNED_BYTE:               return size * sizeof(GLubyte);
          case GL_SHORT:                       return size * sizeof(GLshort);
          case GL_UNSIGNED_SHORT:              return size * sizeof(GLushort);
          case GL_INT:                         return size * sizeof(GLint);
          case GL_UNSIGNED_INT:                return size * sizeof(GLuint);
          case GL_INT_2_10_10_10_REV:          return 4;
          case GL_UNSIGNED_INT_2_10_10_10_REV: return 4;
          case GL_FIXED:                       return size * sizeof(GLfixed);
          case GL_HALF_FLOAT:                  return size * sizeof(GLhalf);
          case GL_FLOAT:                       return size * sizeof(GLfloat);
          default: UNREACHABLE();              return size * sizeof(GLfloat);
        }
    }
    
    size_t ComputeVertexAttributeStride(const VertexAttribute& attrib)
    {
        if (!attrib.enabled)
        {
            return 16;
        }
        return attrib.stride ? attrib.stride : ComputeVertexAttributeTypeSize(attrib);
    }
    
    }