10f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines/* 20f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines * Copyright (C) 2007-2012 The Android Open Source Project 30f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines * 40f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines * Licensed under the Apache License, Version 2.0 (the "License"); 50f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines * you may not use this file except in compliance with the License. 60f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines * You may obtain a copy of the License at 70f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines * 80f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines * http://www.apache.org/licenses/LICENSE-2.0 90f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines * 100f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines * Unless required by applicable law or agreed to in writing, software 110f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines * distributed under the License is distributed on an "AS IS" BASIS, 120f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 130f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines * See the License for the specific language governing permissions and 140f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines * limitations under the License. 150f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines */ 160f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 170f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines#ifndef RENDER_SCRIPT_DEFINES_H 180f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines#define RENDER_SCRIPT_DEFINES_H 190f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 200f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines#include <stdint.h> 210f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines#include <sys/types.h> 220f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 230f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines#ifdef __cplusplus 240f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinesextern "C" { 250f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines#endif 260f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 270f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines////////////////////////////////////////////////////// 280f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines// 290f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 300f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef void * RsAsyncVoidPtr; 310f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 320f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef void * RsAdapter1D; 330f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef void * RsAdapter2D; 340f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef void * RsAllocation; 350f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef void * RsAnimation; 360f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef void * RsContext; 370f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef void * RsDevice; 380f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef void * RsElement; 390f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef void * RsFile; 400f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef void * RsFont; 410f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef void * RsSampler; 420f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef void * RsScript; 43ca29b8caf56fa4866752f9cea4ec02b2a271dceeJason Samstypedef void * RsScriptKernelID; 44ca29b8caf56fa4866752f9cea4ec02b2a271dceeJason Samstypedef void * RsScriptFieldID; 45ca29b8caf56fa4866752f9cea4ec02b2a271dceeJason Samstypedef void * RsScriptMethodID; 46ca29b8caf56fa4866752f9cea4ec02b2a271dceeJason Samstypedef void * RsScriptGroup; 470f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef void * RsMesh; 480f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef void * RsPath; 490f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef void * RsType; 500f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef void * RsObjectBase; 510f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 520f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef void * RsProgram; 530f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef void * RsProgramVertex; 540f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef void * RsProgramFragment; 550f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef void * RsProgramStore; 560f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef void * RsProgramRaster; 570f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 580f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef void * RsNativeWindow; 590f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 600f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef void (* RsBitmapCallback_t)(void *); 610f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 620f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef struct { 630f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines float m[16]; 640f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines} rs_matrix4x4; 650f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 660f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef struct { 670f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines float m[9]; 680f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines} rs_matrix3x3; 690f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 700f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef struct { 710f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines float m[4]; 720f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines} rs_matrix2x2; 730f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 740f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinesenum RsDeviceParam { 750f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_DEVICE_PARAM_FORCE_SOFTWARE_GL, 760f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_DEVICE_PARAM_COUNT 770f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines}; 780f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 790f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef struct { 800f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines uint32_t colorMin; 810f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines uint32_t colorPref; 820f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines uint32_t alphaMin; 830f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines uint32_t alphaPref; 840f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines uint32_t depthMin; 850f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines uint32_t depthPref; 860f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines uint32_t stencilMin; 870f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines uint32_t stencilPref; 880f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines uint32_t samplesMin; 890f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines uint32_t samplesPref; 900f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines float samplesQ; 910f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines} RsSurfaceConfig; 920f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 930f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinesenum RsMessageToClientType { 940f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_MESSAGE_TO_CLIENT_NONE = 0, 950f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_MESSAGE_TO_CLIENT_EXCEPTION = 1, 960f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_MESSAGE_TO_CLIENT_RESIZE = 2, 970f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_MESSAGE_TO_CLIENT_ERROR = 3, 980f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_MESSAGE_TO_CLIENT_USER = 4 990f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines}; 1000f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 1010f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinesenum RsAllocationUsageType { 1020f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ALLOCATION_USAGE_SCRIPT = 0x0001, 1030f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ALLOCATION_USAGE_GRAPHICS_TEXTURE = 0x0002, 1040f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ALLOCATION_USAGE_GRAPHICS_VERTEX = 0x0004, 1050f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ALLOCATION_USAGE_GRAPHICS_CONSTANTS = 0x0008, 1060f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ALLOCATION_USAGE_GRAPHICS_RENDER_TARGET = 0x0010, 1070f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ALLOCATION_USAGE_IO_INPUT = 0x0020, 1080f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ALLOCATION_USAGE_IO_OUTPUT = 0x0040, 1090f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 1100f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ALLOCATION_USAGE_ALL = 0x00FF 1110f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines}; 1120f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 1130f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinesenum RsAllocationMipmapControl { 1140f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ALLOCATION_MIPMAP_NONE = 0, 1150f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ALLOCATION_MIPMAP_FULL = 1, 1160f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ALLOCATION_MIPMAP_ON_SYNC_TO_TEXTURE = 2 1170f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines}; 1180f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 1190f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinesenum RsAllocationCubemapFace { 1200f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_X = 0, 1210f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_X = 1, 1220f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_Y = 2, 1230f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_Y = 3, 1240f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_Z = 4, 1250f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_Z = 5 1260f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines}; 1270f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 1280f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinesenum RsDataType { 1290f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_NONE, 1300f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_FLOAT_16, 1310f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_FLOAT_32, 1320f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_FLOAT_64, 1330f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_SIGNED_8, 1340f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_SIGNED_16, 1350f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_SIGNED_32, 1360f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_SIGNED_64, 1370f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_UNSIGNED_8, 1380f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_UNSIGNED_16, 1390f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_UNSIGNED_32, 1400f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_UNSIGNED_64, 1410f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 1420f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_BOOLEAN, 1430f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 1440f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_UNSIGNED_5_6_5, 1450f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_UNSIGNED_5_5_5_1, 1460f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_UNSIGNED_4_4_4_4, 1470f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 1480f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_MATRIX_4X4, 1490f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_MATRIX_3X3, 1500f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_MATRIX_2X2, 1510f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 1520f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_ELEMENT = 1000, 1530f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_TYPE, 1540f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_ALLOCATION, 1550f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_SAMPLER, 1560f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_SCRIPT, 1570f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_MESH, 1580f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_PROGRAM_FRAGMENT, 1590f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_PROGRAM_VERTEX, 1600f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_PROGRAM_RASTER, 1610f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_PROGRAM_STORE, 1620f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_FONT, 1630f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 1640f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TYPE_INVALID = 10000, 1650f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines}; 1660f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 1670f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinesenum RsDataKind { 1680f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_KIND_USER, 1690f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 1700f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_KIND_PIXEL_L = 7, 1710f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_KIND_PIXEL_A, 1720f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_KIND_PIXEL_LA, 1730f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_KIND_PIXEL_RGB, 1740f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_KIND_PIXEL_RGBA, 1750f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_KIND_PIXEL_DEPTH, 1760f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 1770f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_KIND_INVALID = 100, 1780f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines}; 1790f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 1800f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinesenum RsSamplerParam { 1810f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_SAMPLER_MIN_FILTER, 1820f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_SAMPLER_MAG_FILTER, 1830f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_SAMPLER_WRAP_S, 1840f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_SAMPLER_WRAP_T, 1850f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_SAMPLER_WRAP_R, 1860f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_SAMPLER_ANISO 1870f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines}; 1880f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 1890f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinesenum RsSamplerValue { 1900f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_SAMPLER_NEAREST, 1910f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_SAMPLER_LINEAR, 1920f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_SAMPLER_LINEAR_MIP_LINEAR, 1930f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_SAMPLER_WRAP, 1940f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_SAMPLER_CLAMP, 1950f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_SAMPLER_LINEAR_MIP_NEAREST, 1960f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 1970f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_SAMPLER_INVALID = 100, 1980f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines}; 1990f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 2000f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinesenum RsTextureTarget { 2010f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TEXTURE_2D, 2020f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TEXTURE_CUBE 2030f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines}; 2040f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 2050f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinesenum RsDimension { 2060f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_DIMENSION_X, 2070f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_DIMENSION_Y, 2080f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_DIMENSION_Z, 2090f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_DIMENSION_LOD, 2100f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_DIMENSION_FACE, 2110f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 2120f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_DIMENSION_ARRAY_0 = 100, 2130f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_DIMENSION_ARRAY_1, 2140f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_DIMENSION_ARRAY_2, 2150f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_DIMENSION_ARRAY_3, 2160f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_DIMENSION_MAX = RS_DIMENSION_ARRAY_3 2170f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines}; 2180f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 2190f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinesenum RsDepthFunc { 2200f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_DEPTH_FUNC_ALWAYS, 2210f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_DEPTH_FUNC_LESS, 2220f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_DEPTH_FUNC_LEQUAL, 2230f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_DEPTH_FUNC_GREATER, 2240f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_DEPTH_FUNC_GEQUAL, 2250f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_DEPTH_FUNC_EQUAL, 2260f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_DEPTH_FUNC_NOTEQUAL 2270f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines}; 2280f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 2290f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinesenum RsBlendSrcFunc { 2300f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_BLEND_SRC_ZERO, // 0 2310f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_BLEND_SRC_ONE, // 1 2320f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_BLEND_SRC_DST_COLOR, // 2 2330f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_BLEND_SRC_ONE_MINUS_DST_COLOR, // 3 2340f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_BLEND_SRC_SRC_ALPHA, // 4 2350f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_BLEND_SRC_ONE_MINUS_SRC_ALPHA, // 5 2360f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_BLEND_SRC_DST_ALPHA, // 6 2370f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_BLEND_SRC_ONE_MINUS_DST_ALPHA, // 7 2380f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_BLEND_SRC_SRC_ALPHA_SATURATE, // 8 2390f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_BLEND_SRC_INVALID = 100, 2400f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines}; 2410f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 2420f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinesenum RsBlendDstFunc { 2430f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_BLEND_DST_ZERO, // 0 2440f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_BLEND_DST_ONE, // 1 2450f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_BLEND_DST_SRC_COLOR, // 2 2460f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_BLEND_DST_ONE_MINUS_SRC_COLOR, // 3 2470f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_BLEND_DST_SRC_ALPHA, // 4 2480f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_BLEND_DST_ONE_MINUS_SRC_ALPHA, // 5 2490f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_BLEND_DST_DST_ALPHA, // 6 2500f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_BLEND_DST_ONE_MINUS_DST_ALPHA, // 7 2510f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 2520f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_BLEND_DST_INVALID = 100, 2530f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines}; 2540f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 2550f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinesenum RsTexEnvMode { 2560f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TEX_ENV_MODE_NONE, 2570f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TEX_ENV_MODE_REPLACE, 2580f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TEX_ENV_MODE_MODULATE, 2590f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_TEX_ENV_MODE_DECAL 2600f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines}; 2610f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 2620f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinesenum RsProgramParam { 2630f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_PROGRAM_PARAM_INPUT, 2640f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_PROGRAM_PARAM_OUTPUT, 2650f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_PROGRAM_PARAM_CONSTANT, 2660f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_PROGRAM_PARAM_TEXTURE_TYPE, 2670f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines}; 2680f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 2690f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinesenum RsPrimitive { 2700f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_PRIMITIVE_POINT, 2710f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_PRIMITIVE_LINE, 2720f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_PRIMITIVE_LINE_STRIP, 2730f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_PRIMITIVE_TRIANGLE, 2740f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_PRIMITIVE_TRIANGLE_STRIP, 2750f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_PRIMITIVE_TRIANGLE_FAN, 2760f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 2770f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_PRIMITIVE_INVALID = 100, 2780f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines}; 2790f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 2800f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinesenum RsPathPrimitive { 2810f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_PATH_PRIMITIVE_QUADRATIC_BEZIER, 2820f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_PATH_PRIMITIVE_CUBIC_BEZIER 2830f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines}; 2840f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 2850f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinesenum RsError { 2860f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ERROR_NONE = 0, 2870f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ERROR_BAD_SHADER = 1, 2880f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ERROR_BAD_SCRIPT = 2, 2890f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ERROR_BAD_VALUE = 3, 2900f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ERROR_OUT_OF_MEMORY = 4, 2910f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ERROR_DRIVER = 5, 2920f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 2930f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ERROR_FATAL_UNKNOWN = 0x1000, 2940f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ERROR_FATAL_DRIVER = 0x1001, 2950f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ERROR_FATAL_PROGRAM_LINK = 0x1002 2960f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines}; 2970f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 2980f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinesenum RsAnimationInterpolation { 2990f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ANIMATION_INTERPOLATION_STEP, 3000f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ANIMATION_INTERPOLATION_LINEAR, 3010f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ANIMATION_INTERPOLATION_BEZIER, 3020f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ANIMATION_INTERPOLATION_CARDINAL, 3030f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ANIMATION_INTERPOLATION_HERMITE, 3040f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ANIMATION_INTERPOLATION_BSPLINE 3050f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines}; 3060f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 3070f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinesenum RsAnimationEdge { 3080f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ANIMATION_EDGE_UNDEFINED, 3090f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ANIMATION_EDGE_CONSTANT, 3100f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ANIMATION_EDGE_GRADIENT, 3110f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ANIMATION_EDGE_CYCLE, 3120f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ANIMATION_EDGE_OSCILLATE, 3130f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_ANIMATION_EDGE_CYLE_RELATIVE 3140f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines}; 3150f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 3160f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinesenum RsA3DClassID { 3170f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_A3D_CLASS_ID_UNKNOWN, 3180f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_A3D_CLASS_ID_MESH, 3190f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_A3D_CLASS_ID_TYPE, 3200f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_A3D_CLASS_ID_ELEMENT, 3210f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_A3D_CLASS_ID_ALLOCATION, 3220f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_A3D_CLASS_ID_PROGRAM_VERTEX, 3230f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_A3D_CLASS_ID_PROGRAM_RASTER, 3240f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_A3D_CLASS_ID_PROGRAM_FRAGMENT, 3250f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_A3D_CLASS_ID_PROGRAM_STORE, 3260f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_A3D_CLASS_ID_SAMPLER, 3270f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_A3D_CLASS_ID_ANIMATION, 3280f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_A3D_CLASS_ID_ADAPTER_1D, 3290f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_A3D_CLASS_ID_ADAPTER_2D, 330ca29b8caf56fa4866752f9cea4ec02b2a271dceeJason Sams RS_A3D_CLASS_ID_SCRIPT_C, 331ca29b8caf56fa4866752f9cea4ec02b2a271dceeJason Sams RS_A3D_CLASS_ID_SCRIPT_KERNEL_ID, 332ca29b8caf56fa4866752f9cea4ec02b2a271dceeJason Sams RS_A3D_CLASS_ID_SCRIPT_FIELD_ID, 333ca29b8caf56fa4866752f9cea4ec02b2a271dceeJason Sams RS_A3D_CLASS_ID_SCRIPT_METHOD_ID, 334ca29b8caf56fa4866752f9cea4ec02b2a271dceeJason Sams RS_A3D_CLASS_ID_SCRIPT_GROUP 3350f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines}; 3360f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 3370f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinesenum RsCullMode { 3380f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_CULL_BACK, 3390f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_CULL_FRONT, 3400f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_CULL_NONE, 3410f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RS_CULL_INVALID = 100, 3420f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines}; 3430f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 344ca29b8caf56fa4866752f9cea4ec02b2a271dceeJason Samsenum RsScriptIntrinsicID { 345ca29b8caf56fa4866752f9cea4ec02b2a271dceeJason Sams RS_SCRIPT_INTRINSIC_ID_UNDEFINED = 0, 346ca29b8caf56fa4866752f9cea4ec02b2a271dceeJason Sams RS_SCRIPT_INTRINSIC_ID_CONVOLVE_3x3 = 1, 347ca29b8caf56fa4866752f9cea4ec02b2a271dceeJason Sams RS_SCRIPT_INTRINSIC_ID_COLOR_MATRIX = 2, 348ca29b8caf56fa4866752f9cea4ec02b2a271dceeJason Sams RS_SCRIPT_INTRINSIC_ID_LUT = 3, 349ca29b8caf56fa4866752f9cea4ec02b2a271dceeJason Sams RS_SCRIPT_INTRINSIC_ID_CONVOLVE_5x5 = 4, 350ca29b8caf56fa4866752f9cea4ec02b2a271dceeJason Sams RS_SCRIPT_INTRINSIC_ID_BLUR = 5, 351ca29b8caf56fa4866752f9cea4ec02b2a271dceeJason Sams RS_SCRIPT_INTRINSIC_ID_YUV_TO_RGB = 6, 352ca29b8caf56fa4866752f9cea4ec02b2a271dceeJason Sams RS_SCRIPT_INTRINSIC_ID_BLEND = 7 353ca29b8caf56fa4866752f9cea4ec02b2a271dceeJason Sams}; 354ca29b8caf56fa4866752f9cea4ec02b2a271dceeJason Sams 3550f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef struct { 3560f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines RsA3DClassID classID; 3570f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines const char* objectName; 3580f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines} RsFileIndexEntry; 3590f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 3600f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines// Script to Script 3610f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hinestypedef struct { 3620f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines uint32_t xStart; 3630f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines uint32_t xEnd; 3640f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines uint32_t yStart; 3650f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines uint32_t yEnd; 3660f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines uint32_t zStart; 3670f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines uint32_t zEnd; 3680f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines uint32_t arrayStart; 3690f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines uint32_t arrayEnd; 3700f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 3710f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines} RsScriptCall; 3720f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 3730f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines#ifdef __cplusplus 3740f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines}; 3750f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines#endif 3760f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 3770f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines#endif // RENDER_SCRIPT_DEFINES_H 3780f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 3790f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 3800f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 3810f6f72e19db852cc253fd2fc05459abdf8d5c3afStephen Hines 382