tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

VertexAttribute.inc (1719B)


      1 //
      2 // Copyright 2015 The ANGLE Project Authors. All rights reserved.
      3 // Use of this source code is governed by a BSD-style license that can be
      4 // found in the LICENSE file.
      5 //
      6 // VertexAttribute.inc: Inline vertex attribute methods
      7 //
      8 
      9 namespace gl
     10 {
     11 
     12 inline VertexAttribCurrentValueData::VertexAttribCurrentValueData()
     13    : Type(gl::VertexAttribType::Float)
     14 {
     15    Values.FloatValues[0] = 0.0f;
     16    Values.FloatValues[1] = 0.0f;
     17    Values.FloatValues[2] = 0.0f;
     18    Values.FloatValues[3] = 1.0f;
     19 }
     20 
     21 inline void VertexAttribCurrentValueData::setFloatValues(const GLfloat floatValues[4])
     22 {
     23    for (unsigned int valueIndex = 0; valueIndex < 4; valueIndex++)
     24    {
     25        Values.FloatValues[valueIndex] = floatValues[valueIndex];
     26    }
     27    Type = gl::VertexAttribType::Float;
     28 }
     29 
     30 inline void VertexAttribCurrentValueData::setIntValues(const GLint intValues[4])
     31 {
     32    for (unsigned int valueIndex = 0; valueIndex < 4; valueIndex++)
     33    {
     34        Values.IntValues[valueIndex] = intValues[valueIndex];
     35    }
     36    Type = gl::VertexAttribType::Int;
     37 }
     38 
     39 inline void VertexAttribCurrentValueData::setUnsignedIntValues(const GLuint unsignedIntValues[4])
     40 {
     41    for (unsigned int valueIndex = 0; valueIndex < 4; valueIndex++)
     42    {
     43        Values.UnsignedIntValues[valueIndex] = unsignedIntValues[valueIndex];
     44    }
     45    Type = gl::VertexAttribType::UnsignedInt;
     46 }
     47 
     48 inline bool operator==(const VertexAttribCurrentValueData &a, const VertexAttribCurrentValueData &b)
     49 {
     50    return (a.Type == b.Type && memcmp(&a.Values, &b.Values, sizeof(VertexAttribCurrentValueData::Values)) == 0);
     51 }
     52 
     53 inline bool operator!=(const VertexAttribCurrentValueData &a, const VertexAttribCurrentValueData &b)
     54 {
     55    return !(a == b);
     56 }
     57 
     58 }  // namespace gl