1*e1eccf28SAndroid Build Coastguard Worker /* 2*e1eccf28SAndroid Build Coastguard Worker * Copyright (C) 2014 The Android Open Source Project 3*e1eccf28SAndroid Build Coastguard Worker * 4*e1eccf28SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*e1eccf28SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*e1eccf28SAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*e1eccf28SAndroid Build Coastguard Worker * 8*e1eccf28SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*e1eccf28SAndroid Build Coastguard Worker * 10*e1eccf28SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*e1eccf28SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*e1eccf28SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*e1eccf28SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*e1eccf28SAndroid Build Coastguard Worker * limitations under the License. 15*e1eccf28SAndroid Build Coastguard Worker */ 16*e1eccf28SAndroid Build Coastguard Worker 17*e1eccf28SAndroid Build Coastguard Worker #ifndef RENDER_SCRIPT_INTERNAL_DEFINES_H 18*e1eccf28SAndroid Build Coastguard Worker #define RENDER_SCRIPT_INTERNAL_DEFINES_H 19*e1eccf28SAndroid Build Coastguard Worker 20*e1eccf28SAndroid Build Coastguard Worker #include <stdint.h> 21*e1eccf28SAndroid Build Coastguard Worker #include <sys/types.h> 22*e1eccf28SAndroid Build Coastguard Worker 23*e1eccf28SAndroid Build Coastguard Worker #include "rsDefines.h" 24*e1eccf28SAndroid Build Coastguard Worker 25*e1eccf28SAndroid Build Coastguard Worker #ifdef __cplusplus 26*e1eccf28SAndroid Build Coastguard Worker extern "C" { 27*e1eccf28SAndroid Build Coastguard Worker #endif 28*e1eccf28SAndroid Build Coastguard Worker 29*e1eccf28SAndroid Build Coastguard Worker ////////////////////////////////////////////////////// 30*e1eccf28SAndroid Build Coastguard Worker // 31*e1eccf28SAndroid Build Coastguard Worker 32*e1eccf28SAndroid Build Coastguard Worker 33*e1eccf28SAndroid Build Coastguard Worker typedef void (* RsBitmapCallback_t)(void *); 34*e1eccf28SAndroid Build Coastguard Worker 35*e1eccf28SAndroid Build Coastguard Worker 36*e1eccf28SAndroid Build Coastguard Worker typedef struct { 37*e1eccf28SAndroid Build Coastguard Worker uint32_t colorMin; 38*e1eccf28SAndroid Build Coastguard Worker uint32_t colorPref; 39*e1eccf28SAndroid Build Coastguard Worker uint32_t alphaMin; 40*e1eccf28SAndroid Build Coastguard Worker uint32_t alphaPref; 41*e1eccf28SAndroid Build Coastguard Worker uint32_t depthMin; 42*e1eccf28SAndroid Build Coastguard Worker uint32_t depthPref; 43*e1eccf28SAndroid Build Coastguard Worker uint32_t stencilMin; 44*e1eccf28SAndroid Build Coastguard Worker uint32_t stencilPref; 45*e1eccf28SAndroid Build Coastguard Worker uint32_t samplesMin; 46*e1eccf28SAndroid Build Coastguard Worker uint32_t samplesPref; 47*e1eccf28SAndroid Build Coastguard Worker float samplesQ; 48*e1eccf28SAndroid Build Coastguard Worker } RsSurfaceConfig; 49*e1eccf28SAndroid Build Coastguard Worker 50*e1eccf28SAndroid Build Coastguard Worker enum RsMessageToClientType { 51*e1eccf28SAndroid Build Coastguard Worker RS_MESSAGE_TO_CLIENT_NONE = 0, 52*e1eccf28SAndroid Build Coastguard Worker RS_MESSAGE_TO_CLIENT_EXCEPTION = 1, 53*e1eccf28SAndroid Build Coastguard Worker RS_MESSAGE_TO_CLIENT_RESIZE = 2, 54*e1eccf28SAndroid Build Coastguard Worker RS_MESSAGE_TO_CLIENT_ERROR = 3, 55*e1eccf28SAndroid Build Coastguard Worker RS_MESSAGE_TO_CLIENT_USER = 4, 56*e1eccf28SAndroid Build Coastguard Worker RS_MESSAGE_TO_CLIENT_NEW_BUFFER = 5 57*e1eccf28SAndroid Build Coastguard Worker }; 58*e1eccf28SAndroid Build Coastguard Worker 59*e1eccf28SAndroid Build Coastguard Worker enum RsTextureTarget { 60*e1eccf28SAndroid Build Coastguard Worker RS_TEXTURE_2D, 61*e1eccf28SAndroid Build Coastguard Worker RS_TEXTURE_CUBE 62*e1eccf28SAndroid Build Coastguard Worker }; 63*e1eccf28SAndroid Build Coastguard Worker 64*e1eccf28SAndroid Build Coastguard Worker enum RsDepthFunc { 65*e1eccf28SAndroid Build Coastguard Worker RS_DEPTH_FUNC_ALWAYS, 66*e1eccf28SAndroid Build Coastguard Worker RS_DEPTH_FUNC_LESS, 67*e1eccf28SAndroid Build Coastguard Worker RS_DEPTH_FUNC_LEQUAL, 68*e1eccf28SAndroid Build Coastguard Worker RS_DEPTH_FUNC_GREATER, 69*e1eccf28SAndroid Build Coastguard Worker RS_DEPTH_FUNC_GEQUAL, 70*e1eccf28SAndroid Build Coastguard Worker RS_DEPTH_FUNC_EQUAL, 71*e1eccf28SAndroid Build Coastguard Worker RS_DEPTH_FUNC_NOTEQUAL 72*e1eccf28SAndroid Build Coastguard Worker }; 73*e1eccf28SAndroid Build Coastguard Worker 74*e1eccf28SAndroid Build Coastguard Worker enum RsBlendSrcFunc { 75*e1eccf28SAndroid Build Coastguard Worker RS_BLEND_SRC_ZERO, // 0 76*e1eccf28SAndroid Build Coastguard Worker RS_BLEND_SRC_ONE, // 1 77*e1eccf28SAndroid Build Coastguard Worker RS_BLEND_SRC_DST_COLOR, // 2 78*e1eccf28SAndroid Build Coastguard Worker RS_BLEND_SRC_ONE_MINUS_DST_COLOR, // 3 79*e1eccf28SAndroid Build Coastguard Worker RS_BLEND_SRC_SRC_ALPHA, // 4 80*e1eccf28SAndroid Build Coastguard Worker RS_BLEND_SRC_ONE_MINUS_SRC_ALPHA, // 5 81*e1eccf28SAndroid Build Coastguard Worker RS_BLEND_SRC_DST_ALPHA, // 6 82*e1eccf28SAndroid Build Coastguard Worker RS_BLEND_SRC_ONE_MINUS_DST_ALPHA, // 7 83*e1eccf28SAndroid Build Coastguard Worker RS_BLEND_SRC_SRC_ALPHA_SATURATE, // 8 84*e1eccf28SAndroid Build Coastguard Worker RS_BLEND_SRC_INVALID = 100, 85*e1eccf28SAndroid Build Coastguard Worker }; 86*e1eccf28SAndroid Build Coastguard Worker 87*e1eccf28SAndroid Build Coastguard Worker enum RsBlendDstFunc { 88*e1eccf28SAndroid Build Coastguard Worker RS_BLEND_DST_ZERO, // 0 89*e1eccf28SAndroid Build Coastguard Worker RS_BLEND_DST_ONE, // 1 90*e1eccf28SAndroid Build Coastguard Worker RS_BLEND_DST_SRC_COLOR, // 2 91*e1eccf28SAndroid Build Coastguard Worker RS_BLEND_DST_ONE_MINUS_SRC_COLOR, // 3 92*e1eccf28SAndroid Build Coastguard Worker RS_BLEND_DST_SRC_ALPHA, // 4 93*e1eccf28SAndroid Build Coastguard Worker RS_BLEND_DST_ONE_MINUS_SRC_ALPHA, // 5 94*e1eccf28SAndroid Build Coastguard Worker RS_BLEND_DST_DST_ALPHA, // 6 95*e1eccf28SAndroid Build Coastguard Worker RS_BLEND_DST_ONE_MINUS_DST_ALPHA, // 7 96*e1eccf28SAndroid Build Coastguard Worker 97*e1eccf28SAndroid Build Coastguard Worker RS_BLEND_DST_INVALID = 100, 98*e1eccf28SAndroid Build Coastguard Worker }; 99*e1eccf28SAndroid Build Coastguard Worker 100*e1eccf28SAndroid Build Coastguard Worker enum RsTexEnvMode { 101*e1eccf28SAndroid Build Coastguard Worker RS_TEX_ENV_MODE_NONE, 102*e1eccf28SAndroid Build Coastguard Worker RS_TEX_ENV_MODE_REPLACE, 103*e1eccf28SAndroid Build Coastguard Worker RS_TEX_ENV_MODE_MODULATE, 104*e1eccf28SAndroid Build Coastguard Worker RS_TEX_ENV_MODE_DECAL 105*e1eccf28SAndroid Build Coastguard Worker }; 106*e1eccf28SAndroid Build Coastguard Worker 107*e1eccf28SAndroid Build Coastguard Worker enum RsProgramParam { 108*e1eccf28SAndroid Build Coastguard Worker RS_PROGRAM_PARAM_INPUT, 109*e1eccf28SAndroid Build Coastguard Worker RS_PROGRAM_PARAM_OUTPUT, 110*e1eccf28SAndroid Build Coastguard Worker RS_PROGRAM_PARAM_CONSTANT, 111*e1eccf28SAndroid Build Coastguard Worker RS_PROGRAM_PARAM_TEXTURE_TYPE, 112*e1eccf28SAndroid Build Coastguard Worker }; 113*e1eccf28SAndroid Build Coastguard Worker 114*e1eccf28SAndroid Build Coastguard Worker enum RsPrimitive { 115*e1eccf28SAndroid Build Coastguard Worker RS_PRIMITIVE_POINT, 116*e1eccf28SAndroid Build Coastguard Worker RS_PRIMITIVE_LINE, 117*e1eccf28SAndroid Build Coastguard Worker RS_PRIMITIVE_LINE_STRIP, 118*e1eccf28SAndroid Build Coastguard Worker RS_PRIMITIVE_TRIANGLE, 119*e1eccf28SAndroid Build Coastguard Worker RS_PRIMITIVE_TRIANGLE_STRIP, 120*e1eccf28SAndroid Build Coastguard Worker RS_PRIMITIVE_TRIANGLE_FAN, 121*e1eccf28SAndroid Build Coastguard Worker 122*e1eccf28SAndroid Build Coastguard Worker RS_PRIMITIVE_INVALID = 100, 123*e1eccf28SAndroid Build Coastguard Worker }; 124*e1eccf28SAndroid Build Coastguard Worker 125*e1eccf28SAndroid Build Coastguard Worker enum RsPathPrimitive { 126*e1eccf28SAndroid Build Coastguard Worker RS_PATH_PRIMITIVE_QUADRATIC_BEZIER, 127*e1eccf28SAndroid Build Coastguard Worker RS_PATH_PRIMITIVE_CUBIC_BEZIER 128*e1eccf28SAndroid Build Coastguard Worker }; 129*e1eccf28SAndroid Build Coastguard Worker 130*e1eccf28SAndroid Build Coastguard Worker enum RsAnimationInterpolation { 131*e1eccf28SAndroid Build Coastguard Worker RS_ANIMATION_INTERPOLATION_STEP, 132*e1eccf28SAndroid Build Coastguard Worker RS_ANIMATION_INTERPOLATION_LINEAR, 133*e1eccf28SAndroid Build Coastguard Worker RS_ANIMATION_INTERPOLATION_BEZIER, 134*e1eccf28SAndroid Build Coastguard Worker RS_ANIMATION_INTERPOLATION_CARDINAL, 135*e1eccf28SAndroid Build Coastguard Worker RS_ANIMATION_INTERPOLATION_HERMITE, 136*e1eccf28SAndroid Build Coastguard Worker RS_ANIMATION_INTERPOLATION_BSPLINE 137*e1eccf28SAndroid Build Coastguard Worker }; 138*e1eccf28SAndroid Build Coastguard Worker 139*e1eccf28SAndroid Build Coastguard Worker enum RsAnimationEdge { 140*e1eccf28SAndroid Build Coastguard Worker RS_ANIMATION_EDGE_UNDEFINED, 141*e1eccf28SAndroid Build Coastguard Worker RS_ANIMATION_EDGE_CONSTANT, 142*e1eccf28SAndroid Build Coastguard Worker RS_ANIMATION_EDGE_GRADIENT, 143*e1eccf28SAndroid Build Coastguard Worker RS_ANIMATION_EDGE_CYCLE, 144*e1eccf28SAndroid Build Coastguard Worker RS_ANIMATION_EDGE_OSCILLATE, 145*e1eccf28SAndroid Build Coastguard Worker RS_ANIMATION_EDGE_CYLE_RELATIVE 146*e1eccf28SAndroid Build Coastguard Worker }; 147*e1eccf28SAndroid Build Coastguard Worker 148*e1eccf28SAndroid Build Coastguard Worker enum RsA3DClassID { 149*e1eccf28SAndroid Build Coastguard Worker RS_A3D_CLASS_ID_UNKNOWN, 150*e1eccf28SAndroid Build Coastguard Worker RS_A3D_CLASS_ID_MESH, 151*e1eccf28SAndroid Build Coastguard Worker RS_A3D_CLASS_ID_TYPE, 152*e1eccf28SAndroid Build Coastguard Worker RS_A3D_CLASS_ID_ELEMENT, 153*e1eccf28SAndroid Build Coastguard Worker RS_A3D_CLASS_ID_ALLOCATION, 154*e1eccf28SAndroid Build Coastguard Worker RS_A3D_CLASS_ID_PROGRAM_VERTEX, 155*e1eccf28SAndroid Build Coastguard Worker RS_A3D_CLASS_ID_PROGRAM_RASTER, 156*e1eccf28SAndroid Build Coastguard Worker RS_A3D_CLASS_ID_PROGRAM_FRAGMENT, 157*e1eccf28SAndroid Build Coastguard Worker RS_A3D_CLASS_ID_PROGRAM_STORE, 158*e1eccf28SAndroid Build Coastguard Worker RS_A3D_CLASS_ID_SAMPLER, 159*e1eccf28SAndroid Build Coastguard Worker RS_A3D_CLASS_ID_ANIMATION, 160*e1eccf28SAndroid Build Coastguard Worker RS_A3D_CLASS_ID_ADAPTER_1D, 161*e1eccf28SAndroid Build Coastguard Worker RS_A3D_CLASS_ID_ADAPTER_2D, 162*e1eccf28SAndroid Build Coastguard Worker RS_A3D_CLASS_ID_SCRIPT_C, 163*e1eccf28SAndroid Build Coastguard Worker RS_A3D_CLASS_ID_SCRIPT_KERNEL_ID, 164*e1eccf28SAndroid Build Coastguard Worker RS_A3D_CLASS_ID_SCRIPT_FIELD_ID, 165*e1eccf28SAndroid Build Coastguard Worker RS_A3D_CLASS_ID_SCRIPT_METHOD_ID, 166*e1eccf28SAndroid Build Coastguard Worker RS_A3D_CLASS_ID_SCRIPT_GROUP, 167*e1eccf28SAndroid Build Coastguard Worker RS_A3D_CLASS_ID_CLOSURE, 168*e1eccf28SAndroid Build Coastguard Worker RS_A3D_CLASS_ID_SCRIPT_GROUP2, 169*e1eccf28SAndroid Build Coastguard Worker RS_A3D_CLASS_ID_SCRIPT_INVOKE_ID 170*e1eccf28SAndroid Build Coastguard Worker }; 171*e1eccf28SAndroid Build Coastguard Worker 172*e1eccf28SAndroid Build Coastguard Worker enum RsCullMode { 173*e1eccf28SAndroid Build Coastguard Worker RS_CULL_BACK, 174*e1eccf28SAndroid Build Coastguard Worker RS_CULL_FRONT, 175*e1eccf28SAndroid Build Coastguard Worker RS_CULL_NONE, 176*e1eccf28SAndroid Build Coastguard Worker RS_CULL_INVALID = 100, 177*e1eccf28SAndroid Build Coastguard Worker }; 178*e1eccf28SAndroid Build Coastguard Worker 179*e1eccf28SAndroid Build Coastguard Worker enum RsScriptIntrinsicID { 180*e1eccf28SAndroid Build Coastguard Worker RS_SCRIPT_INTRINSIC_ID_UNDEFINED = 0, 181*e1eccf28SAndroid Build Coastguard Worker RS_SCRIPT_INTRINSIC_ID_CONVOLVE_3x3 = 1, 182*e1eccf28SAndroid Build Coastguard Worker RS_SCRIPT_INTRINSIC_ID_COLOR_MATRIX = 2, 183*e1eccf28SAndroid Build Coastguard Worker RS_SCRIPT_INTRINSIC_ID_LUT = 3, 184*e1eccf28SAndroid Build Coastguard Worker RS_SCRIPT_INTRINSIC_ID_CONVOLVE_5x5 = 4, 185*e1eccf28SAndroid Build Coastguard Worker RS_SCRIPT_INTRINSIC_ID_BLUR = 5, 186*e1eccf28SAndroid Build Coastguard Worker RS_SCRIPT_INTRINSIC_ID_YUV_TO_RGB = 6, 187*e1eccf28SAndroid Build Coastguard Worker RS_SCRIPT_INTRINSIC_ID_BLEND = 7, 188*e1eccf28SAndroid Build Coastguard Worker RS_SCRIPT_INTRINSIC_ID_3DLUT = 8, 189*e1eccf28SAndroid Build Coastguard Worker RS_SCRIPT_INTRINSIC_ID_HISTOGRAM = 9, 190*e1eccf28SAndroid Build Coastguard Worker // unused 10, 11 191*e1eccf28SAndroid Build Coastguard Worker RS_SCRIPT_INTRINSIC_ID_RESIZE = 12, 192*e1eccf28SAndroid Build Coastguard Worker RS_SCRIPT_INTRINSIC_ID_BLAS = 13, 193*e1eccf28SAndroid Build Coastguard Worker RS_SCRIPT_INTRINSIC_ID_EXTBLAS = 14, 194*e1eccf28SAndroid Build Coastguard Worker RS_SCRIPT_INTRINSIC_ID_OEM_START = 0x10000000 195*e1eccf28SAndroid Build Coastguard Worker }; 196*e1eccf28SAndroid Build Coastguard Worker 197*e1eccf28SAndroid Build Coastguard Worker typedef struct { 198*e1eccf28SAndroid Build Coastguard Worker RsA3DClassID classID; 199*e1eccf28SAndroid Build Coastguard Worker const char* objectName; 200*e1eccf28SAndroid Build Coastguard Worker } RsFileIndexEntry; 201*e1eccf28SAndroid Build Coastguard Worker 202*e1eccf28SAndroid Build Coastguard Worker 203*e1eccf28SAndroid Build Coastguard Worker enum RsThreadPriorities { 204*e1eccf28SAndroid Build Coastguard Worker RS_THREAD_PRIORITY_LOW = 15, 205*e1eccf28SAndroid Build Coastguard Worker RS_THREAD_PRIORITY_NORMAL_GRAPHICS = -8, 206*e1eccf28SAndroid Build Coastguard Worker RS_THREAD_PRIORITY_NORMAL = -1, 207*e1eccf28SAndroid Build Coastguard Worker RS_THREAD_PRIORITY_LOW_LATENCY = -4 208*e1eccf28SAndroid Build Coastguard Worker }; 209*e1eccf28SAndroid Build Coastguard Worker 210*e1eccf28SAndroid Build Coastguard Worker 211*e1eccf28SAndroid Build Coastguard Worker // Structure for rs.spec functions 212*e1eccf28SAndroid Build Coastguard Worker 213*e1eccf28SAndroid Build Coastguard Worker typedef struct { 214*e1eccf28SAndroid Build Coastguard Worker RsElement e; 215*e1eccf28SAndroid Build Coastguard Worker uint32_t dimX; 216*e1eccf28SAndroid Build Coastguard Worker uint32_t dimY; 217*e1eccf28SAndroid Build Coastguard Worker uint32_t dimZ; 218*e1eccf28SAndroid Build Coastguard Worker bool mipmaps; 219*e1eccf28SAndroid Build Coastguard Worker bool faces; 220*e1eccf28SAndroid Build Coastguard Worker uint32_t yuv; 221*e1eccf28SAndroid Build Coastguard Worker uint32_t array0; 222*e1eccf28SAndroid Build Coastguard Worker uint32_t array1; 223*e1eccf28SAndroid Build Coastguard Worker uint32_t array2; 224*e1eccf28SAndroid Build Coastguard Worker uint32_t array3; 225*e1eccf28SAndroid Build Coastguard Worker } RsTypeCreateParams; 226*e1eccf28SAndroid Build Coastguard Worker 227*e1eccf28SAndroid Build Coastguard Worker 228*e1eccf28SAndroid Build Coastguard Worker 229*e1eccf28SAndroid Build Coastguard Worker #ifdef __cplusplus 230*e1eccf28SAndroid Build Coastguard Worker }; 231*e1eccf28SAndroid Build Coastguard Worker #endif 232*e1eccf28SAndroid Build Coastguard Worker 233*e1eccf28SAndroid Build Coastguard Worker #endif // RENDER_SCRIPT_DEFINES_H 234