Edit

kc3-lang/angle/src/libGLESv2/Uniform.cpp

Branch :

  • Show log

    Commit

  • Author : daniel@transgaming.com
    Date : 2013-01-11 04:10:08
    Hash : e76b64b2
    Message : Implemented support for DX11 integer and boolean uniforms. TRAC #22364 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1686 736b8ea6-26fd-11df-bfd4-992fa37f6226

  • src/libGLESv2/Uniform.cpp
  • //
    // Copyright (c) 2010-2013 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.
    //
    
    #include "libGLESv2/Uniform.h"
    
    #include "libGLESv2/utilities.h"
    
    namespace gl
    {
    
    Uniform::Uniform(GLenum type, const std::string &name, unsigned int arraySize)
        : type(type), name(name), arraySize(arraySize)
    {
        int bytes = gl::UniformInternalSize(type) * elementCount();
        data = new unsigned char[bytes];
        memset(data, 0, bytes);
        dirty = true;
    
        psRegisterIndex = -1;
        vsRegisterIndex = -1;
        registerCount = VariableRowCount(type) * elementCount();
    }
    
    Uniform::~Uniform()
    {
        delete[] data;
    }
    
    bool Uniform::isArray() const
    {
        return arraySize > 0;
    }
    
    unsigned int Uniform::elementCount() const
    {
        return arraySize > 0 ? arraySize : 1;
    }
    
    }