| /* | |
| * Copyright (C) 2014 The Android Open Source Project | |
| * | |
| * Licensed under the Apache License, Version 2.0 (the "License"); | |
| * you may not use this file except in compliance with the License. | |
| * You may obtain a copy of the License at | |
| * | |
| * http://www.apache.org/licenses/LICENSE-2.0 | |
| * | |
| * Unless required by applicable law or agreed to in writing, software | |
| * distributed under the License is distributed on an "AS IS" BASIS, | |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| * See the License for the specific language governing permissions and | |
| * limitations under the License. | |
| */ | |
| #ifndef RENDER_SCRIPT_INTERNAL_DEFINES_H | |
| #define RENDER_SCRIPT_INTERNAL_DEFINES_H | |
| #include <stdint.h> | |
| #include <sys/types.h> | |
| #include "rsDefines.h" | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| ////////////////////////////////////////////////////// | |
| // | |
| typedef void (* RsBitmapCallback_t)(void *); | |
| typedef struct { | |
| uint32_t colorMin; | |
| uint32_t colorPref; | |
| uint32_t alphaMin; | |
| uint32_t alphaPref; | |
| uint32_t depthMin; | |
| uint32_t depthPref; | |
| uint32_t stencilMin; | |
| uint32_t stencilPref; | |
| uint32_t samplesMin; | |
| uint32_t samplesPref; | |
| float samplesQ; | |
| } RsSurfaceConfig; | |
| enum RsMessageToClientType { | |
| RS_MESSAGE_TO_CLIENT_NONE = 0, | |
| RS_MESSAGE_TO_CLIENT_EXCEPTION = 1, | |
| RS_MESSAGE_TO_CLIENT_RESIZE = 2, | |
| RS_MESSAGE_TO_CLIENT_ERROR = 3, | |
| RS_MESSAGE_TO_CLIENT_USER = 4, | |
| RS_MESSAGE_TO_CLIENT_NEW_BUFFER = 5 | |
| }; | |
| enum RsTextureTarget { | |
| RS_TEXTURE_2D, | |
| RS_TEXTURE_CUBE | |
| }; | |
| enum RsDepthFunc { | |
| RS_DEPTH_FUNC_ALWAYS, | |
| RS_DEPTH_FUNC_LESS, | |
| RS_DEPTH_FUNC_LEQUAL, | |
| RS_DEPTH_FUNC_GREATER, | |
| RS_DEPTH_FUNC_GEQUAL, | |
| RS_DEPTH_FUNC_EQUAL, | |
| RS_DEPTH_FUNC_NOTEQUAL | |
| }; | |
| enum RsBlendSrcFunc { | |
| RS_BLEND_SRC_ZERO, // 0 | |
| RS_BLEND_SRC_ONE, // 1 | |
| RS_BLEND_SRC_DST_COLOR, // 2 | |
| RS_BLEND_SRC_ONE_MINUS_DST_COLOR, // 3 | |
| RS_BLEND_SRC_SRC_ALPHA, // 4 | |
| RS_BLEND_SRC_ONE_MINUS_SRC_ALPHA, // 5 | |
| RS_BLEND_SRC_DST_ALPHA, // 6 | |
| RS_BLEND_SRC_ONE_MINUS_DST_ALPHA, // 7 | |
| RS_BLEND_SRC_SRC_ALPHA_SATURATE, // 8 | |
| RS_BLEND_SRC_INVALID = 100, | |
| }; | |
| enum RsBlendDstFunc { | |
| RS_BLEND_DST_ZERO, // 0 | |
| RS_BLEND_DST_ONE, // 1 | |
| RS_BLEND_DST_SRC_COLOR, // 2 | |
| RS_BLEND_DST_ONE_MINUS_SRC_COLOR, // 3 | |
| RS_BLEND_DST_SRC_ALPHA, // 4 | |
| RS_BLEND_DST_ONE_MINUS_SRC_ALPHA, // 5 | |
| RS_BLEND_DST_DST_ALPHA, // 6 | |
| RS_BLEND_DST_ONE_MINUS_DST_ALPHA, // 7 | |
| RS_BLEND_DST_INVALID = 100, | |
| }; | |
| enum RsTexEnvMode { | |
| RS_TEX_ENV_MODE_NONE, | |
| RS_TEX_ENV_MODE_REPLACE, | |
| RS_TEX_ENV_MODE_MODULATE, | |
| RS_TEX_ENV_MODE_DECAL | |
| }; | |
| enum RsProgramParam { | |
| RS_PROGRAM_PARAM_INPUT, | |
| RS_PROGRAM_PARAM_OUTPUT, | |
| RS_PROGRAM_PARAM_CONSTANT, | |
| RS_PROGRAM_PARAM_TEXTURE_TYPE, | |
| }; | |
| enum RsPrimitive { | |
| RS_PRIMITIVE_POINT, | |
| RS_PRIMITIVE_LINE, | |
| RS_PRIMITIVE_LINE_STRIP, | |
| RS_PRIMITIVE_TRIANGLE, | |
| RS_PRIMITIVE_TRIANGLE_STRIP, | |
| RS_PRIMITIVE_TRIANGLE_FAN, | |
| RS_PRIMITIVE_INVALID = 100, | |
| }; | |
| enum RsPathPrimitive { | |
| RS_PATH_PRIMITIVE_QUADRATIC_BEZIER, | |
| RS_PATH_PRIMITIVE_CUBIC_BEZIER | |
| }; | |
| enum RsAnimationInterpolation { | |
| RS_ANIMATION_INTERPOLATION_STEP, | |
| RS_ANIMATION_INTERPOLATION_LINEAR, | |
| RS_ANIMATION_INTERPOLATION_BEZIER, | |
| RS_ANIMATION_INTERPOLATION_CARDINAL, | |
| RS_ANIMATION_INTERPOLATION_HERMITE, | |
| RS_ANIMATION_INTERPOLATION_BSPLINE | |
| }; | |
| enum RsAnimationEdge { | |
| RS_ANIMATION_EDGE_UNDEFINED, | |
| RS_ANIMATION_EDGE_CONSTANT, | |
| RS_ANIMATION_EDGE_GRADIENT, | |
| RS_ANIMATION_EDGE_CYCLE, | |
| RS_ANIMATION_EDGE_OSCILLATE, | |
| RS_ANIMATION_EDGE_CYLE_RELATIVE | |
| }; | |
| enum RsA3DClassID { | |
| RS_A3D_CLASS_ID_UNKNOWN, | |
| RS_A3D_CLASS_ID_MESH, | |
| RS_A3D_CLASS_ID_TYPE, | |
| RS_A3D_CLASS_ID_ELEMENT, | |
| RS_A3D_CLASS_ID_ALLOCATION, | |
| RS_A3D_CLASS_ID_PROGRAM_VERTEX, | |
| RS_A3D_CLASS_ID_PROGRAM_RASTER, | |
| RS_A3D_CLASS_ID_PROGRAM_FRAGMENT, | |
| RS_A3D_CLASS_ID_PROGRAM_STORE, | |
| RS_A3D_CLASS_ID_SAMPLER, | |
| RS_A3D_CLASS_ID_ANIMATION, | |
| RS_A3D_CLASS_ID_ADAPTER_1D, | |
| RS_A3D_CLASS_ID_ADAPTER_2D, | |
| RS_A3D_CLASS_ID_SCRIPT_C, | |
| RS_A3D_CLASS_ID_SCRIPT_KERNEL_ID, | |
| RS_A3D_CLASS_ID_SCRIPT_FIELD_ID, | |
| RS_A3D_CLASS_ID_SCRIPT_METHOD_ID, | |
| RS_A3D_CLASS_ID_SCRIPT_GROUP, | |
| RS_A3D_CLASS_ID_CLOSURE, | |
| RS_A3D_CLASS_ID_SCRIPT_GROUP2, | |
| RS_A3D_CLASS_ID_SCRIPT_INVOKE_ID | |
| }; | |
| enum RsCullMode { | |
| RS_CULL_BACK, | |
| RS_CULL_FRONT, | |
| RS_CULL_NONE, | |
| RS_CULL_INVALID = 100, | |
| }; | |
| enum RsScriptIntrinsicID { | |
| RS_SCRIPT_INTRINSIC_ID_UNDEFINED = 0, | |
| RS_SCRIPT_INTRINSIC_ID_CONVOLVE_3x3 = 1, | |
| RS_SCRIPT_INTRINSIC_ID_COLOR_MATRIX = 2, | |
| RS_SCRIPT_INTRINSIC_ID_LUT = 3, | |
| RS_SCRIPT_INTRINSIC_ID_CONVOLVE_5x5 = 4, | |
| RS_SCRIPT_INTRINSIC_ID_BLUR = 5, | |
| RS_SCRIPT_INTRINSIC_ID_YUV_TO_RGB = 6, | |
| RS_SCRIPT_INTRINSIC_ID_BLEND = 7, | |
| RS_SCRIPT_INTRINSIC_ID_3DLUT = 8, | |
| RS_SCRIPT_INTRINSIC_ID_HISTOGRAM = 9, | |
| // unused 10, 11 | |
| RS_SCRIPT_INTRINSIC_ID_RESIZE = 12, | |
| RS_SCRIPT_INTRINSIC_ID_BLAS = 13, | |
| RS_SCRIPT_INTRINSIC_ID_EXTBLAS = 14, | |
| RS_SCRIPT_INTRINSIC_ID_OEM_START = 0x10000000 | |
| }; | |
| typedef struct { | |
| RsA3DClassID classID; | |
| const char* objectName; | |
| } RsFileIndexEntry; | |
| enum RsThreadPriorities { | |
| RS_THREAD_PRIORITY_LOW = 15, | |
| RS_THREAD_PRIORITY_NORMAL_GRAPHICS = -8, | |
| RS_THREAD_PRIORITY_NORMAL = -1, | |
| RS_THREAD_PRIORITY_LOW_LATENCY = -4 | |
| }; | |
| // Structure for rs.spec functions | |
| typedef struct { | |
| RsElement e; | |
| uint32_t dimX; | |
| uint32_t dimY; | |
| uint32_t dimZ; | |
| bool mipmaps; | |
| bool faces; | |
| uint32_t yuv; | |
| uint32_t array0; | |
| uint32_t array1; | |
| uint32_t array2; | |
| uint32_t array3; | |
| } RsTypeCreateParams; | |
| #ifdef __cplusplus | |
| }; | |
| #endif | |
| #endif // RENDER_SCRIPT_DEFINES_H |