Hash :
dff56337
Author :
Date :
2015-01-05T16:17:00
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>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
//
// 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);
}
}