1 // 2 // Copyright (c) 2017 The Khronos Group Inc. 3 // 4 // Licensed under the Apache License, Version 2.0 (the "License"); 5 // you may not use this file except in compliance with the License. 6 // You may obtain a copy of the License at 7 // 8 // http://www.apache.org/licenses/LICENSE-2.0 9 // 10 // Unless required by applicable law or agreed to in writing, software 11 // distributed under the License is distributed on an "AS IS" BASIS, 12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 // See the License for the specific language governing permissions and 14 // limitations under the License. 15 // 16 #include "defines.h" 17 18 19 // 1,2,3,4,8,16 or 20 // 1,2,4,8,16,3 21 int g_arrVecSizes[NUM_VECTOR_SIZES] = { 1, 2, 3, 4, 8, 16 }; 22 int g_arrVecSteps[NUM_VECTOR_SIZES] = { 1, 2, 4, 4, 8, 16 }; 23 const char *g_arrVecSizeNames[NUM_VECTOR_SIZES] = { 24 "", "2", "3", "4", "8", "16" 25 }; 26 size_t g_arrVecAlignMasks[NUM_VECTOR_SIZES] = { 27 (size_t)0, 28 (size_t)0x1, // 2 29 (size_t)0x3, // 3 30 (size_t)0x3, // 4 31 (size_t)0x7, // 8 32 (size_t)0xf // 16 33 }; 34 35 bool g_wimpyMode = false; 36 37 ExplicitType types[] = { 38 kChar, kUChar, kShort, kUShort, kInt, kUInt, kLong, 39 kULong, kFloat, kDouble, kNumExplicitTypes 40 }; 41 42 43 const char *g_arrTypeNames[] = { "char", "uchar", "short", "ushort", "int", 44 "uint", "long", "ulong", "float", "double" }; 45 46 extern const size_t g_arrTypeSizes[] = { 1, 1, 2, 2, 4, 4, 8, 8, 4, 8 }; 47