slang_version.h revision 46a0334d8901576e20db68e15930a19f8f789cb8
14a4bf92a8add68629a7e6e59ef81c3c3fe603a75Stephen Hines/* 25e3b677a3041c86a7f860238dd1f5ff9d111b507Stephen Hines * Copyright 2011-2012, The Android Open Source Project 34a4bf92a8add68629a7e6e59ef81c3c3fe603a75Stephen Hines * 44a4bf92a8add68629a7e6e59ef81c3c3fe603a75Stephen Hines * Licensed under the Apache License, Version 2.0 (the "License"); 54a4bf92a8add68629a7e6e59ef81c3c3fe603a75Stephen Hines * you may not use this file except in compliance with the License. 64a4bf92a8add68629a7e6e59ef81c3c3fe603a75Stephen Hines * You may obtain a copy of the License at 74a4bf92a8add68629a7e6e59ef81c3c3fe603a75Stephen Hines * 84a4bf92a8add68629a7e6e59ef81c3c3fe603a75Stephen Hines * http://www.apache.org/licenses/LICENSE-2.0 94a4bf92a8add68629a7e6e59ef81c3c3fe603a75Stephen Hines * 104a4bf92a8add68629a7e6e59ef81c3c3fe603a75Stephen Hines * Unless required by applicable law or agreed to in writing, software 114a4bf92a8add68629a7e6e59ef81c3c3fe603a75Stephen Hines * distributed under the License is distributed on an "AS IS" BASIS, 124a4bf92a8add68629a7e6e59ef81c3c3fe603a75Stephen Hines * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134a4bf92a8add68629a7e6e59ef81c3c3fe603a75Stephen Hines * See the License for the specific language governing permissions and 144a4bf92a8add68629a7e6e59ef81c3c3fe603a75Stephen Hines * limitations under the License. 154a4bf92a8add68629a7e6e59ef81c3c3fe603a75Stephen Hines */ 164a4bf92a8add68629a7e6e59ef81c3c3fe603a75Stephen Hines 174cc499d6e5ec602309501873449c938af61170b2Stephen Hines#ifndef _FRAMEWORKS_COMPILE_SLANG_SLANG_VERSION_H_ // NOLINT 184cc499d6e5ec602309501873449c938af61170b2Stephen Hines#define _FRAMEWORKS_COMPILE_SLANG_SLANG_VERSION_H_ 194a4bf92a8add68629a7e6e59ef81c3c3fe603a75Stephen Hines 20c9454afec1649846512993d0ef65a9f868976bb4Chris Wailes#include <climits> 21c9454afec1649846512993d0ef65a9f868976bb4Chris Wailes 22c9454afec1649846512993d0ef65a9f868976bb4Chris Wailes#define RS_DEVELOPMENT_API UINT_MAX 239e3aa07a4456aad52920e0a7464954fe67cdbe01Chris Wailes 244a4bf92a8add68629a7e6e59ef81c3c3fe603a75Stephen Hines// API levels used by the standard Android SDK. 259b044ec938fd56355012851890c63974c8042c9fStephen Hines// MR -> Maintenance Release 269b044ec938fd56355012851890c63974c8042c9fStephen Hines// HC -> Honeycomb 279b044ec938fd56355012851890c63974c8042c9fStephen Hines// ICS -> Ice Cream Sandwich 2841cc61093619da4e99581d0aef4487ce2751812eStephen Hines// JB -> Jelly Bean 290f2a2397df53a1bb74609abe3c27719bc7e3c328Jean-Luc Brouillet// KK -> KitKat 301623659165bb24d733a40124e929cfd42aa917e3David Gross// M -> Marshmallow 319b044ec938fd56355012851890c63974c8042c9fStephen Hinesenum SlangTargetAPI { 329b044ec938fd56355012851890c63974c8042c9fStephen Hines SLANG_MINIMUM_TARGET_API = 11, 339b044ec938fd56355012851890c63974c8042c9fStephen Hines SLANG_HC_TARGET_API = 11, 349b044ec938fd56355012851890c63974c8042c9fStephen Hines SLANG_HC_MR1_TARGET_API = 12, 359b044ec938fd56355012851890c63974c8042c9fStephen Hines SLANG_HC_MR2_TARGET_API = 13, 369b044ec938fd56355012851890c63974c8042c9fStephen Hines SLANG_ICS_TARGET_API = 14, 379b044ec938fd56355012851890c63974c8042c9fStephen Hines SLANG_ICS_MR1_TARGET_API = 15, 3841cc61093619da4e99581d0aef4487ce2751812eStephen Hines SLANG_JB_TARGET_API = 16, 39fe2b93dc9e7d4f193fe6d8c050e849f012ab0754Stephen Hines SLANG_JB_MR1_TARGET_API = 17, 409221935c8a5cb48a53d7d316bbe0d860baf4a22eStephen Hines SLANG_JB_MR2_TARGET_API = 18, 414f673191448c2a76c7dc5d18ff45bb7954968ea6Stephen Hines SLANG_KK_TARGET_API = 19, 42bd0a7ddceac6c135ea975cefbac73877a1f9dae7Stephen Hines SLANG_M_TARGET_API = 23, 4313dba25ad988da71201c1331b34f56e2d01bcf96Yang Ni SLANG_N_TARGET_API = 24, 44c9454afec1649846512993d0ef65a9f868976bb4Chris Wailes SLANG_MAXIMUM_TARGET_API = RS_VERSION, 45c9454afec1649846512993d0ef65a9f868976bb4Chris Wailes SLANG_DEVELOPMENT_TARGET_API = RS_DEVELOPMENT_API 469b044ec938fd56355012851890c63974c8042c9fStephen Hines}; 474cc499d6e5ec602309501873449c938af61170b2Stephen Hines// Note that RS_VERSION is defined at build time (see Android.mk for details). 484a4bf92a8add68629a7e6e59ef81c3c3fe603a75Stephen Hines 491623659165bb24d733a40124e929cfd42aa917e3David Gross// API levels where particular features exist. 501623659165bb24d733a40124e929cfd42aa917e3David Gross// . Open (feature appears at a particular level and continues to exist): 511623659165bb24d733a40124e929cfd42aa917e3David Gross// SLANG_FEAT_FOO_API 521623659165bb24d733a40124e929cfd42aa917e3David Gross// . Closed (feature exists only through a particular range of API levels): 531623659165bb24d733a40124e929cfd42aa917e3David Gross// SLANG_FEAT_BAR_API_MIN, SLANG_FEAT_BAR_API_MAX 541623659165bb24d733a40124e929cfd42aa917e3David Grossenum SlangFeatureAPI { 5546a0334d8901576e20db68e15930a19f8f789cb8David Gross SLANG_FEATURE_GENERAL_REDUCTION_API = SLANG_N_TARGET_API, 5646a0334d8901576e20db68e15930a19f8f789cb8David Gross SLANG_FEATURE_GENERAL_REDUCTION_HALTER_API = SLANG_DEVELOPMENT_TARGET_API 571623659165bb24d733a40124e929cfd42aa917e3David Gross}; 581623659165bb24d733a40124e929cfd42aa917e3David Gross 595e3b677a3041c86a7f860238dd1f5ff9d111b507Stephen Hines// SlangVersion refers to the released compiler version (for which certain 605e3b677a3041c86a7f860238dd1f5ff9d111b507Stephen Hines// behaviors could change - i.e. critical bugs fixed that may require 615e3b677a3041c86a7f860238dd1f5ff9d111b507Stephen Hines// additional workarounds in the backend compiler). 625e3b677a3041c86a7f860238dd1f5ff9d111b507Stephen Hinesnamespace SlangVersion { 635e3b677a3041c86a7f860238dd1f5ff9d111b507Stephen Hinesenum { 645e3b677a3041c86a7f860238dd1f5ff9d111b507Stephen Hines LEGACY = 0, 655e3b677a3041c86a7f860238dd1f5ff9d111b507Stephen Hines ICS = 1400, 6659e37365ee690a7c4e8182faab9eb2b029193f91Stephen Hines JB = 1600, 67fe2b93dc9e7d4f193fe6d8c050e849f012ab0754Stephen Hines JB_MR1 = 1700, 6850974740c0c5c52dd766264139a01702fbc138afStephen Hines JB_MR2 = 1800, 694f673191448c2a76c7dc5d18ff45bb7954968ea6Stephen Hines KK = 1900, 7076110d5599d2bac880354b6df94930c0c63b5e4eStephen Hines KK_P1 = 1901, 7180bdb1aaa97c4f617a03fb86dcd1da3051f7efd7Stephen Hines L = 2100, 72bd0a7ddceac6c135ea975cefbac73877a1f9dae7Stephen Hines M = 2300, 73880d6ad5fc44e1291669de4b23b5910f7ca975dcStephen Hines M_RS_OBJECT = 2310, 7413dba25ad988da71201c1331b34f56e2d01bcf96Yang Ni N = 2400, 7513dba25ad988da71201c1331b34f56e2d01bcf96Yang Ni CURRENT = N 765e3b677a3041c86a7f860238dd1f5ff9d111b507Stephen Hines}; 775e3b677a3041c86a7f860238dd1f5ff9d111b507Stephen Hines} // namespace SlangVersion 785e3b677a3041c86a7f860238dd1f5ff9d111b507Stephen Hines 794cc499d6e5ec602309501873449c938af61170b2Stephen Hines#endif // _FRAMEWORKS_COMPILE_SLANG_SLANG_VERSION_H_ NOLINT 80