xref: /aosp_15_r20/frameworks/rs/rsInternalDefines.h (revision e1eccf28f96817838ad6867f7f39d2351ec11f56)
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