blob: 43a040edaf8f5e1efe28fea51468543c105732bb [file] [log] [blame]
shannonwoods@chromium.org7e0904d2013-05-30 00:06:45 +00001//
2// Copyright (c) 2013 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
7#include "compiler/Uniform.h"
8
9namespace sh
10{
11
Jamie Madill9d2ffb12013-08-30 13:21:04 -040012ShaderVariable::ShaderVariable(GLenum typeIn, GLenum precisionIn, const char *nameIn, unsigned int arraySizeIn)
13 : type(typeIn),
14 precision(precisionIn),
15 name(nameIn),
16 arraySize(arraySizeIn)
17{
18}
19
20Uniform::Uniform(GLenum typeIn, GLenum precisionIn, const char *nameIn, unsigned int arraySizeIn, unsigned int registerIndexIn)
21 : ShaderVariable(typeIn, precisionIn, nameIn, arraySizeIn),
22 registerIndex(registerIndexIn)
23{
24}
25
26Attribute::Attribute()
27 : ShaderVariable(GL_NONE, GL_NONE, "", 0),
Jamie Madilldefb6742013-06-20 11:55:51 -040028 location(-1)
29{
30}
31
Jamie Madill9d2ffb12013-08-30 13:21:04 -040032Attribute::Attribute(GLenum typeIn, GLenum precisionIn, const char *nameIn, unsigned int arraySizeIn, int locationIn)
33 : ShaderVariable(typeIn, precisionIn, nameIn, arraySizeIn),
34 location(locationIn)
Jamie Madill46131a32013-06-20 11:55:50 -040035{
36}
37
Jamie Madill9d2ffb12013-08-30 13:21:04 -040038InterfaceBlockField::InterfaceBlockField(GLenum typeIn, GLenum precisionIn, const char *nameIn, unsigned int arraySizeIn, bool isRowMajorMatrix)
39 : ShaderVariable(typeIn, precisionIn, nameIn, arraySizeIn),
40 isRowMajorMatrix(isRowMajorMatrix)
shannonwoods@chromium.org7e0904d2013-05-30 00:06:45 +000041{
shannonwoods@chromium.org7e0904d2013-05-30 00:06:45 +000042}
43
shannonwoods@chromium.orgd7784172013-05-30 00:07:03 +000044BlockMemberInfo::BlockMemberInfo(int offset, int arrayStride, int matrixStride, bool isRowMajorMatrix)
45 : offset(offset),
46 arrayStride(arrayStride),
47 matrixStride(matrixStride),
48 isRowMajorMatrix(isRowMajorMatrix)
49{
50}
51
52const BlockMemberInfo BlockMemberInfo::defaultBlockInfo(-1, -1, -1, false);
53
shannonwoods@chromium.org1500f092013-05-30 00:11:20 +000054InterfaceBlock::InterfaceBlock(const char *name, unsigned int arraySize, unsigned int registerIndex)
55 : name(name),
56 arraySize(arraySize),
shannonwoods@chromium.org70961b32013-05-30 00:17:48 +000057 layout(BLOCKLAYOUT_SHARED),
Jamie Madill9060a4e2013-08-12 16:22:57 -070058 registerIndex(registerIndex),
59 isRowMajorLayout(false)
shannonwoods@chromium.org1500f092013-05-30 00:11:20 +000060{
61}
62
shannonwoods@chromium.org7e0904d2013-05-30 00:06:45 +000063}