| /* |
| * 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 |
| }; |
| |
| 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_OEM_START = 0x10000000 |
| }; |
| |
| typedef struct { |
| RsA3DClassID classID; |
| const char* objectName; |
| } RsFileIndexEntry; |
| |
| |
| |
| // 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 |