1bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams/* 2bc0ca6ba4e31239bf77060578d0bdf1a10e04168Jason Sams * Copyright (C) 2013 The Android Open Source Project 3bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams * 4bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams * Licensed under the Apache License, Version 2.0 (the "License"); 5bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams * you may not use this file except in compliance with the License. 6bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams * You may obtain a copy of the License at 7bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams * 8bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams * http://www.apache.org/licenses/LICENSE-2.0 9bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams * 10bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams * Unless required by applicable law or agreed to in writing, software 11bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams * distributed under the License is distributed on an "AS IS" BASIS, 12bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams * See the License for the specific language governing permissions and 14bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams * limitations under the License. 15bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams */ 16bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 17bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams#ifndef RENDER_SCRIPT_DEFINES_H 18bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams#define RENDER_SCRIPT_DEFINES_H 19bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 20bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams#include <stdint.h> 21bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams#include <sys/types.h> 22bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 23bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams#ifdef __cplusplus 24bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsextern "C" { 25bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams#endif 26bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 27bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams////////////////////////////////////////////////////// 28bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams// 29bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 30bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsAsyncVoidPtr; 31bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 32bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsAllocation; 33bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsAnimation; 341ffd86b448d78366190c540f98f8b6d641cdb6cfYang Nitypedef void * RsClosure; 35bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsContext; 36bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsDevice; 37bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsElement; 38bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsFile; 39bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsFont; 40bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsSampler; 41bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsScript; 42dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Samstypedef void * RsScriptKernelID; 43eb9aa675754c49f613c6ad71d41472b30f38b007Yang Nitypedef void * RsScriptInvokeID; 44dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Samstypedef void * RsScriptFieldID; 45dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Samstypedef void * RsScriptMethodID; 46dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Samstypedef void * RsScriptGroup; 471ffd86b448d78366190c540f98f8b6d641cdb6cfYang Nitypedef void * RsScriptGroup2; 48bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsMesh; 499e0afb5a2b3e476c42a373e7cd89cef4a34f8195Jason Samstypedef void * RsPath; 50bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsType; 51bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsObjectBase; 52bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 53bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsProgram; 54bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsProgramVertex; 55bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsProgramFragment; 56bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsProgramStore; 57bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsProgramRaster; 58bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 597257c7ee4b66f00c43d9235f3ac600061ae79968Alex Sakhartchouktypedef void * RsNativeWindow; 607257c7ee4b66f00c43d9235f3ac600061ae79968Alex Sakhartchouk 61bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void (* RsBitmapCallback_t)(void *); 62bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 6387fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Samstypedef struct { 6487fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Sams float m[16]; 6587fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Sams} rs_matrix4x4; 6687fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Sams 6787fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Samstypedef struct { 6887fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Sams float m[9]; 6987fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Sams} rs_matrix3x3; 7087fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Sams 7187fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Samstypedef struct { 7287fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Sams float m[4]; 7387fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Sams} rs_matrix2x2; 7487fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Sams 75bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsDeviceParam { 76bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DEVICE_PARAM_FORCE_SOFTWARE_GL, 77bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DEVICE_PARAM_COUNT 78bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 79bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 8014982c8eb9a17a95a817c1fd2571829be5b7017eJason Samsenum RsContextType { 8114982c8eb9a17a95a817c1fd2571829be5b7017eJason Sams RS_CONTEXT_TYPE_NORMAL, 8214982c8eb9a17a95a817c1fd2571829be5b7017eJason Sams RS_CONTEXT_TYPE_DEBUG, 8314982c8eb9a17a95a817c1fd2571829be5b7017eJason Sams RS_CONTEXT_TYPE_PROFILE 8414982c8eb9a17a95a817c1fd2571829be5b7017eJason Sams}; 8514982c8eb9a17a95a817c1fd2571829be5b7017eJason Sams 86bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 87bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsAllocationUsageType { 88bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ALLOCATION_USAGE_SCRIPT = 0x0001, 89bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ALLOCATION_USAGE_GRAPHICS_TEXTURE = 0x0002, 90bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ALLOCATION_USAGE_GRAPHICS_VERTEX = 0x0004, 91bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ALLOCATION_USAGE_GRAPHICS_CONSTANTS = 0x0008, 927d9c5ffccb7a5e682860f752403e5a03aed587beAlex Sakhartchouk RS_ALLOCATION_USAGE_GRAPHICS_RENDER_TARGET = 0x0010, 933522f40418fdf877f5a136475dbf75e57a3b7c77Jason Sams RS_ALLOCATION_USAGE_IO_INPUT = 0x0020, 943522f40418fdf877f5a136475dbf75e57a3b7c77Jason Sams RS_ALLOCATION_USAGE_IO_OUTPUT = 0x0040, 959e2bda58db9e6427a1640ea302d4df079ffa0252Tim Murray RS_ALLOCATION_USAGE_SHARED = 0x0080, 96bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 9747a5881b8f85d65c74f2471fe6261d4cdb3dce5eMiao Wang RS_ALLOCATION_USAGE_INCREMENTAL_SUPPORT = 0x1000, 98f82b626e0479ce4a23ebff1fc088e073dcabaa30Jason Sams RS_ALLOCATION_USAGE_OEM = 0x8000, 99f82b626e0479ce4a23ebff1fc088e073dcabaa30Jason Sams RS_ALLOCATION_USAGE_ALL = 0x80FF 100bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 101bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 102bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsAllocationMipmapControl { 103bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ALLOCATION_MIPMAP_NONE = 0, 104bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ALLOCATION_MIPMAP_FULL = 1, 105bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ALLOCATION_MIPMAP_ON_SYNC_TO_TEXTURE = 2 106bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 107bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 108bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsAllocationCubemapFace { 10974a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_X = 0, 11074a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_X = 1, 11174a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_Y = 2, 11274a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_Y = 3, 11374a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_Z = 4, 11474a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_Z = 5 115bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 116bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 117bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsDataType { 1185aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hines RS_TYPE_NONE = 0, 119bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_FLOAT_16, 120bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_FLOAT_32, 121bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_FLOAT_64, 122bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_SIGNED_8, 123bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_SIGNED_16, 124bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_SIGNED_32, 125bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_SIGNED_64, 126bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_UNSIGNED_8, 127bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_UNSIGNED_16, 128bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_UNSIGNED_32, 129bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_UNSIGNED_64, 130bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 131bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_BOOLEAN, 132bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 133bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_UNSIGNED_5_6_5, 134bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_UNSIGNED_5_5_5_1, 135bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_UNSIGNED_4_4_4_4, 136bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 137bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_MATRIX_4X4, 138bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_MATRIX_3X3, 139bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_MATRIX_2X2, 140bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 141bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_ELEMENT = 1000, 142bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_TYPE, 143bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_ALLOCATION, 144bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_SAMPLER, 145bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_SCRIPT, 146bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_MESH, 147bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_PROGRAM_FRAGMENT, 148bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_PROGRAM_VERTEX, 149bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_PROGRAM_RASTER, 150bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_PROGRAM_STORE, 151ae8b795a673b75bf0aec72620f4530db1415f907Stephen Hines RS_TYPE_FONT, 15225a59d051a218bd608b005a149509464b3e6d4f0Alex Sakhartchouk 15325a59d051a218bd608b005a149509464b3e6d4f0Alex Sakhartchouk RS_TYPE_INVALID = 10000, 154bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 155bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 156bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsDataKind { 157bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_KIND_USER, 158bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 159bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_KIND_PIXEL_L = 7, 160bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_KIND_PIXEL_A, 161bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_KIND_PIXEL_LA, 162bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_KIND_PIXEL_RGB, 163bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_KIND_PIXEL_RGBA, 1647d9c5ffccb7a5e682860f752403e5a03aed587beAlex Sakhartchouk RS_KIND_PIXEL_DEPTH, 165bc0ca6ba4e31239bf77060578d0bdf1a10e04168Jason Sams RS_KIND_PIXEL_YUV, 16625a59d051a218bd608b005a149509464b3e6d4f0Alex Sakhartchouk 16725a59d051a218bd608b005a149509464b3e6d4f0Alex Sakhartchouk RS_KIND_INVALID = 100, 168bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 169bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 1706b387c1e466b507007f0b388da8b037362154e9aPirama Arumuga Nainarenum RsYuvFormat { 1716b387c1e466b507007f0b388da8b037362154e9aPirama Arumuga Nainar RS_YUV_NONE = 0, 1726b387c1e466b507007f0b388da8b037362154e9aPirama Arumuga Nainar RS_YUV_YV12 = 0x32315659, // HAL_PIXEL_FORMAT_YV12 in system/graphics.h 1736b387c1e466b507007f0b388da8b037362154e9aPirama Arumuga Nainar RS_YUV_NV21 = 0x11, // HAL_PIXEL_FORMAT_YCrCb_420_SP 1746b387c1e466b507007f0b388da8b037362154e9aPirama Arumuga Nainar RS_YUV_420_888 = 0x23, // HAL_PIXEL_FORMAT_YCbCr_420_888 1756b387c1e466b507007f0b388da8b037362154e9aPirama Arumuga Nainar}; 1766b387c1e466b507007f0b388da8b037362154e9aPirama Arumuga Nainar 177bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsSamplerParam { 178bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_SAMPLER_MIN_FILTER, 179bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_SAMPLER_MAG_FILTER, 180bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_SAMPLER_WRAP_S, 181bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_SAMPLER_WRAP_T, 182bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_SAMPLER_WRAP_R, 183bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_SAMPLER_ANISO 184bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 185bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 186bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsSamplerValue { 187bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_SAMPLER_NEAREST, 188bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_SAMPLER_LINEAR, 189bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_SAMPLER_LINEAR_MIP_LINEAR, 190bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_SAMPLER_WRAP, 191bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_SAMPLER_CLAMP, 192bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_SAMPLER_LINEAR_MIP_NEAREST, 1939e913f4a5ab519af6c0c04f9b992d85f1c447d2dTim Murray RS_SAMPLER_MIRRORED_REPEAT, 19425a59d051a218bd608b005a149509464b3e6d4f0Alex Sakhartchouk 19525a59d051a218bd608b005a149509464b3e6d4f0Alex Sakhartchouk RS_SAMPLER_INVALID = 100, 196bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 197bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 198bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsDimension { 199bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DIMENSION_X, 200bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DIMENSION_Y, 201bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DIMENSION_Z, 202bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DIMENSION_LOD, 203bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DIMENSION_FACE, 204bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 205bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DIMENSION_ARRAY_0 = 100, 206bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DIMENSION_ARRAY_1, 207bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DIMENSION_ARRAY_2, 208bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DIMENSION_ARRAY_3, 209bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DIMENSION_MAX = RS_DIMENSION_ARRAY_3 210bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 211bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 2129e0afb5a2b3e476c42a373e7cd89cef4a34f8195Jason Sams 213bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsError { 214bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ERROR_NONE = 0, 215bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ERROR_BAD_SHADER = 1, 216bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ERROR_BAD_SCRIPT = 2, 217bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ERROR_BAD_VALUE = 3, 218bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ERROR_OUT_OF_MEMORY = 4, 219bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ERROR_DRIVER = 5, 220bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 221cca3d6ca444bef3b6d75431ec19bd07bfe40a733Stephen Hines // Errors that only occur in the debug context. 222cca3d6ca444bef3b6d75431ec19bd07bfe40a733Stephen Hines RS_ERROR_FATAL_DEBUG = 0x0800, 223cca3d6ca444bef3b6d75431ec19bd07bfe40a733Stephen Hines 224bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ERROR_FATAL_UNKNOWN = 0x1000, 225bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ERROR_FATAL_DRIVER = 0x1001, 226bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ERROR_FATAL_PROGRAM_LINK = 0x1002 227bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 228bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 229f598811a60088236222bb1879503842094ca378bStephen Hinesenum RsForEachStrategy { 230f598811a60088236222bb1879503842094ca378bStephen Hines RS_FOR_EACH_STRATEGY_SERIAL = 0, 231f598811a60088236222bb1879503842094ca378bStephen Hines RS_FOR_EACH_STRATEGY_DONT_CARE = 1, 232f598811a60088236222bb1879503842094ca378bStephen Hines RS_FOR_EACH_STRATEGY_DST_LINEAR = 2, 233f598811a60088236222bb1879503842094ca378bStephen Hines RS_FOR_EACH_STRATEGY_TILE_SMALL = 3, 234f598811a60088236222bb1879503842094ca378bStephen Hines RS_FOR_EACH_STRATEGY_TILE_MEDIUM = 4, 235f598811a60088236222bb1879503842094ca378bStephen Hines RS_FOR_EACH_STRATEGY_TILE_LARGE = 5 236f598811a60088236222bb1879503842094ca378bStephen Hines}; 237f598811a60088236222bb1879503842094ca378bStephen Hines 238bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams// Script to Script 239bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef struct { 240f598811a60088236222bb1879503842094ca378bStephen Hines enum RsForEachStrategy strategy; 241bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t xStart; 242bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t xEnd; 243bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t yStart; 244bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t yEnd; 245bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t zStart; 246bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t zEnd; 247bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t arrayStart; 248bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t arrayEnd; 249bf2111d3b3de310932099514f06924e48fa1d7b2Jason Sams uint32_t array2Start; 250bf2111d3b3de310932099514f06924e48fa1d7b2Jason Sams uint32_t array2End; 251bf2111d3b3de310932099514f06924e48fa1d7b2Jason Sams uint32_t array3Start; 252bf2111d3b3de310932099514f06924e48fa1d7b2Jason Sams uint32_t array3End; 253bf2111d3b3de310932099514f06924e48fa1d7b2Jason Sams uint32_t array4Start; 254bf2111d3b3de310932099514f06924e48fa1d7b2Jason Sams uint32_t array4End; 255bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 256bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams} RsScriptCall; 257bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 25884e3dea053bea25c1cec44ffb298f8b5b9b9141aTim Murrayenum RsContextFlags { 259bfa5a8e76fd9469cdecb3115685ded677d2d210aJason Sams RS_CONTEXT_SYNCHRONOUS = 0x0001, 260bfa5a8e76fd9469cdecb3115685ded677d2d210aJason Sams RS_CONTEXT_LOW_LATENCY = 0x0002, 261d5164d537c84867880694327727b5f22b0a3ccbdStephen McGroarty RS_CONTEXT_LOW_POWER = 0x0004, 26215c1d06c654c246b8e8047f64f781add32483576Stephen McGroarty RS_CONTEXT_WAIT_FOR_ATTACH = 0x0008 26384e3dea053bea25c1cec44ffb298f8b5b9b9141aTim Murray}; 26484e3dea053bea25c1cec44ffb298f8b5b9b9141aTim Murray 26564c682b65cd04ac83b51251b40dca14423df351aTim Murrayenum RsBlasTranspose { 26664c682b65cd04ac83b51251b40dca14423df351aTim Murray RsBlasNoTrans=111, 26764c682b65cd04ac83b51251b40dca14423df351aTim Murray RsBlasTrans=112, 26864c682b65cd04ac83b51251b40dca14423df351aTim Murray RsBlasConjTrans=113 26964c682b65cd04ac83b51251b40dca14423df351aTim Murray}; 27064c682b65cd04ac83b51251b40dca14423df351aTim Murray 27164c682b65cd04ac83b51251b40dca14423df351aTim Murrayenum RsBlasUplo { 27264c682b65cd04ac83b51251b40dca14423df351aTim Murray RsBlasUpper=121, 27364c682b65cd04ac83b51251b40dca14423df351aTim Murray RsBlasLower=122 27464c682b65cd04ac83b51251b40dca14423df351aTim Murray}; 27564c682b65cd04ac83b51251b40dca14423df351aTim Murray 27664c682b65cd04ac83b51251b40dca14423df351aTim Murrayenum RsBlasDiag { 27764c682b65cd04ac83b51251b40dca14423df351aTim Murray RsBlasNonUnit=131, 27864c682b65cd04ac83b51251b40dca14423df351aTim Murray RsBlasUnit=132 27964c682b65cd04ac83b51251b40dca14423df351aTim Murray}; 28064c682b65cd04ac83b51251b40dca14423df351aTim Murray 28164c682b65cd04ac83b51251b40dca14423df351aTim Murrayenum RsBlasSide { 28264c682b65cd04ac83b51251b40dca14423df351aTim Murray RsBlasLeft=141, 28364c682b65cd04ac83b51251b40dca14423df351aTim Murray RsBlasRight=142 28464c682b65cd04ac83b51251b40dca14423df351aTim Murray}; 28584e3dea053bea25c1cec44ffb298f8b5b9b9141aTim Murray 28664c682b65cd04ac83b51251b40dca14423df351aTim Murrayenum RsBlasFunction { 28764c682b65cd04ac83b51251b40dca14423df351aTim Murray RsBlas_nop = 0, 288aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_sdsdot = 1, 289aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dsdot = 2, 290aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_sdot = 3, 291aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ddot = 4, 292aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_cdotu_sub = 5, 293aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_cdotc_sub = 6, 294aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zdotu_sub = 7, 295aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zdotc_sub = 8, 296aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_snrm2 = 9, 297aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_sasum = 10, 298aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dnrm2 = 11, 299aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dasum = 12, 300aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_scnrm2 = 13, 301aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_scasum = 14, 302aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dznrm2 = 15, 303aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dzasum = 16, 304aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_isamax = 17, 305aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_idamax = 18, 306aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_icamax = 19, 307aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_izamax = 20, 308aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_sswap = 21, 309aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_scopy = 22, 310aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_saxpy = 23, 311aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dswap = 24, 312aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dcopy = 25, 313aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_daxpy = 26, 314aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_cswap = 27, 315aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ccopy = 28, 316aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_caxpy = 29, 317aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zswap = 30, 318aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zcopy = 31, 319aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zaxpy = 32, 320aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_srotg = 33, 321aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_srotmg = 34, 322aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_srot = 35, 323aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_srotm = 36, 324aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_drotg = 37, 325aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_drotmg = 38, 326aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_drot = 39, 327aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_drotm = 40, 328aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_sscal = 41, 329aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dscal = 42, 330aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_cscal = 43, 331aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zscal = 44, 332aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_csscal = 45, 333aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zdscal = 46, 334aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_sgemv = 47, 335aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_sgbmv = 48, 336aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_strmv = 49, 337aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_stbmv = 50, 338aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_stpmv = 51, 339aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_strsv = 52, 340aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_stbsv = 53, 341aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_stpsv = 54, 342aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dgemv = 55, 343aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dgbmv = 56, 344aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dtrmv = 57, 345aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dtbmv = 58, 346aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dtpmv = 59, 347aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dtrsv = 60, 348aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dtbsv = 61, 349aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dtpsv = 62, 350aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_cgemv = 63, 351aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_cgbmv = 64, 352aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ctrmv = 65, 353aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ctbmv = 66, 354aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ctpmv = 67, 355aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ctrsv = 68, 356aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ctbsv = 69, 357aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ctpsv = 70, 358aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zgemv = 71, 359aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zgbmv = 72, 360aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ztrmv = 73, 361aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ztbmv = 74, 362aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ztpmv = 75, 363aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ztrsv = 76, 364aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ztbsv = 77, 365aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ztpsv = 78, 366aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ssymv = 79, 367aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ssbmv = 80, 368aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_sspmv = 81, 369aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_sger = 82, 370aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ssyr = 83, 371aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_sspr = 84, 372aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ssyr2 = 85, 373aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_sspr2 = 86, 374aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dsymv = 87, 375aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dsbmv = 88, 376aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dspmv = 89, 377aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dger = 90, 378aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dsyr = 91, 379aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dspr = 92, 380aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dsyr2 = 93, 381aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dspr2 = 94, 382aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_chemv = 95, 383aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_chbmv = 96, 384aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_chpmv = 97, 385aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_cgeru = 98, 386aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_cgerc = 99, 387aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_cher = 100, 388aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_chpr = 101, 389aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_cher2 = 102, 390aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_chpr2 = 103, 391aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zhemv = 104, 392aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zhbmv = 105, 393aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zhpmv = 106, 394aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zgeru = 107, 395aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zgerc = 108, 396aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zher = 109, 397aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zhpr = 110, 398aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zher2 = 111, 399aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zhpr2 = 112, 400aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_sgemm = 113, 401aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ssymm = 114, 402aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ssyrk = 115, 403aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ssyr2k = 116, 404aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_strmm = 117, 405aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_strsm = 118, 406aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dgemm = 119, 407aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dsymm = 120, 408aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dsyrk = 121, 409aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dsyr2k = 122, 410aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dtrmm = 123, 411aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_dtrsm = 124, 412aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_cgemm = 125, 413aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_csymm = 126, 414aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_csyrk = 127, 415aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_csyr2k = 128, 416aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ctrmm = 129, 417aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ctrsm = 130, 418aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zgemm = 131, 419aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zsymm = 132, 420aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zsyrk = 133, 421aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zsyr2k = 134, 422aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ztrmm = 135, 423aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_ztrsm = 136, 424aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_chemm = 137, 425aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_cherk = 138, 426aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_cher2k = 139, 427aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zhemm = 140, 428aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zherk = 141, 429aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray RsBlas_zher2k = 142, 430aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray 431aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray // BLAS extensions start here 4322b999883f2f390ee43ed18317d77c810a0c6657bTim Murray RsBlas_bnnm = 1000, 43364c682b65cd04ac83b51251b40dca14423df351aTim Murray}; 43464c682b65cd04ac83b51251b40dca14423df351aTim Murray 43564c682b65cd04ac83b51251b40dca14423df351aTim Murray// custom complex types because of NDK support 43664c682b65cd04ac83b51251b40dca14423df351aTim Murraytypedef struct { 43764c682b65cd04ac83b51251b40dca14423df351aTim Murray float r; 43864c682b65cd04ac83b51251b40dca14423df351aTim Murray float i; 43964c682b65cd04ac83b51251b40dca14423df351aTim Murray} RsFloatComplex; 44064c682b65cd04ac83b51251b40dca14423df351aTim Murray 44164c682b65cd04ac83b51251b40dca14423df351aTim Murraytypedef struct { 44264c682b65cd04ac83b51251b40dca14423df351aTim Murray double r; 44364c682b65cd04ac83b51251b40dca14423df351aTim Murray double i; 44464c682b65cd04ac83b51251b40dca14423df351aTim Murray} RsDoubleComplex; 44564c682b65cd04ac83b51251b40dca14423df351aTim Murray 446aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murraytypedef union { 44764c682b65cd04ac83b51251b40dca14423df351aTim Murray float f; 44864c682b65cd04ac83b51251b40dca14423df351aTim Murray RsFloatComplex c; 44964c682b65cd04ac83b51251b40dca14423df351aTim Murray double d; 45064c682b65cd04ac83b51251b40dca14423df351aTim Murray RsDoubleComplex z; 45164c682b65cd04ac83b51251b40dca14423df351aTim Murray} RsBlasScalar; 45264c682b65cd04ac83b51251b40dca14423df351aTim Murray 45364c682b65cd04ac83b51251b40dca14423df351aTim Murraytypedef struct { 45464c682b65cd04ac83b51251b40dca14423df351aTim Murray RsBlasFunction func; 45564c682b65cd04ac83b51251b40dca14423df351aTim Murray RsBlasTranspose transA; 45664c682b65cd04ac83b51251b40dca14423df351aTim Murray RsBlasTranspose transB; 45764c682b65cd04ac83b51251b40dca14423df351aTim Murray RsBlasUplo uplo; 45864c682b65cd04ac83b51251b40dca14423df351aTim Murray RsBlasDiag diag; 45964c682b65cd04ac83b51251b40dca14423df351aTim Murray RsBlasSide side; 46064c682b65cd04ac83b51251b40dca14423df351aTim Murray int M; 46164c682b65cd04ac83b51251b40dca14423df351aTim Murray int N; 46264c682b65cd04ac83b51251b40dca14423df351aTim Murray int K; 46364c682b65cd04ac83b51251b40dca14423df351aTim Murray RsBlasScalar alpha; 46464c682b65cd04ac83b51251b40dca14423df351aTim Murray RsBlasScalar beta; 46564c682b65cd04ac83b51251b40dca14423df351aTim Murray int incX; 46664c682b65cd04ac83b51251b40dca14423df351aTim Murray int incY; 46764c682b65cd04ac83b51251b40dca14423df351aTim Murray int KL; 46864c682b65cd04ac83b51251b40dca14423df351aTim Murray int KU; 46906deda3751a4a7358a7c7e03fbf1e4325fafb807Miao Wang uint8_t a_offset; 47006deda3751a4a7358a7c7e03fbf1e4325fafb807Miao Wang uint8_t b_offset; 47106deda3751a4a7358a7c7e03fbf1e4325fafb807Miao Wang int32_t c_offset; 47206deda3751a4a7358a7c7e03fbf1e4325fafb807Miao Wang int32_t c_mult_int; 47364c682b65cd04ac83b51251b40dca14423df351aTim Murray} RsBlasCall; 474aff744561bea3c8a7a7d59c0cb8cd9438f6dcd1cTim Murray 4755aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hinesenum RsGlobalProperty { 4765aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hines RS_GLOBAL_TYPE = 0x0000FFFF, 4775aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hines RS_GLOBAL_CONSTANT = 0x00010000, 4785aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hines RS_GLOBAL_STATIC = 0x00020000, 4795aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hines RS_GLOBAL_POINTER = 0x00040000 4805aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hines}; 4815aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hines 4825aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hines// Special symbols embedded into a shared object compiled by bcc. 4835aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hinesstatic const char kRoot[] = "root"; 4845aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hinesstatic const char kInit[] = "init"; 4855aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hinesstatic const char kRsDtor[] = ".rs.dtor"; 4865aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hinesstatic const char kRsInfo[] = ".rs.info"; 4875aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hinesstatic const char kRsGlobalEntries[] = ".rs.global_entries"; 4885aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hinesstatic const char kRsGlobalNames[] = ".rs.global_names"; 4895aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hinesstatic const char kRsGlobalAddresses[] = ".rs.global_addresses"; 4905aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hinesstatic const char kRsGlobalSizes[] = ".rs.global_sizes"; 4915aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hinesstatic const char kRsGlobalProperties[] = ".rs.global_properties"; 4925aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hines 4935aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hinesstatic inline uint32_t getGlobalRsType(uint32_t properties) { 4945aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hines return properties & RS_GLOBAL_TYPE; 4955aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hines} 4965aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hinesstatic inline bool isGlobalConstant(uint32_t properties) { 4975aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hines return properties & RS_GLOBAL_CONSTANT; 4985aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hines} 4995aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hinesstatic inline bool isGlobalStatic(uint32_t properties) { 5005aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hines return properties & RS_GLOBAL_STATIC; 5015aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hines} 5025aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hinesstatic inline bool isGlobalPointer(uint32_t properties) { 5035aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hines return properties & RS_GLOBAL_POINTER; 5045aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hines} 5055aa018cc36e589b07674957714d27ae3d1fa1c4eStephen Hines 506bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams#ifdef __cplusplus 507bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 508bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams#endif 509bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 510bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams#endif // RENDER_SCRIPT_DEFINES_H 511