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 * RsAdapter1D; 33bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsAdapter2D; 34bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsAllocation; 35bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsAnimation; 36bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsContext; 37bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsDevice; 38bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsElement; 39bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsFile; 40bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsFont; 41bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsSampler; 42bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsScript; 43dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Samstypedef void * RsScriptKernelID; 44dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Samstypedef void * RsScriptFieldID; 45dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Samstypedef void * RsScriptMethodID; 46dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Samstypedef void * RsScriptGroup; 47bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsMesh; 489e0afb5a2b3e476c42a373e7cd89cef4a34f8195Jason Samstypedef void * RsPath; 49bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsType; 50bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsObjectBase; 51bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 52bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsProgram; 53bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsProgramVertex; 54bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsProgramFragment; 55bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsProgramStore; 56bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void * RsProgramRaster; 57bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 587257c7ee4b66f00c43d9235f3ac600061ae79968Alex Sakhartchouktypedef void * RsNativeWindow; 597257c7ee4b66f00c43d9235f3ac600061ae79968Alex Sakhartchouk 60bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef void (* RsBitmapCallback_t)(void *); 61bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 6287fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Samstypedef struct { 6387fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Sams float m[16]; 6487fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Sams} rs_matrix4x4; 6587fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Sams 6687fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Samstypedef struct { 6787fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Sams float m[9]; 6887fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Sams} rs_matrix3x3; 6987fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Sams 7087fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Samstypedef struct { 7187fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Sams float m[4]; 7287fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Sams} rs_matrix2x2; 7387fe59a2f4d4c74539bfa0bff5f9a7e320e99415Jason Sams 74bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsDeviceParam { 75bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DEVICE_PARAM_FORCE_SOFTWARE_GL, 76bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DEVICE_PARAM_COUNT 77bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 78bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 7914982c8eb9a17a95a817c1fd2571829be5b7017eJason Samsenum RsContextType { 8014982c8eb9a17a95a817c1fd2571829be5b7017eJason Sams RS_CONTEXT_TYPE_NORMAL, 8114982c8eb9a17a95a817c1fd2571829be5b7017eJason Sams RS_CONTEXT_TYPE_DEBUG, 8214982c8eb9a17a95a817c1fd2571829be5b7017eJason Sams RS_CONTEXT_TYPE_PROFILE 8314982c8eb9a17a95a817c1fd2571829be5b7017eJason Sams}; 8414982c8eb9a17a95a817c1fd2571829be5b7017eJason Sams 85bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef struct { 86bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t colorMin; 87bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t colorPref; 88bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t alphaMin; 89bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t alphaPref; 90bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t depthMin; 91bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t depthPref; 92bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t stencilMin; 93bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t stencilPref; 94bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t samplesMin; 95bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t samplesPref; 96bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams float samplesQ; 97bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams} RsSurfaceConfig; 98bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 99bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsMessageToClientType { 100bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_MESSAGE_TO_CLIENT_NONE = 0, 101bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_MESSAGE_TO_CLIENT_EXCEPTION = 1, 102bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_MESSAGE_TO_CLIENT_RESIZE = 2, 103bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_MESSAGE_TO_CLIENT_ERROR = 3, 1044961cceab2b71bf0ab59e1b66a7559f67ed28781Jason Sams RS_MESSAGE_TO_CLIENT_USER = 4, 1054961cceab2b71bf0ab59e1b66a7559f67ed28781Jason Sams RS_MESSAGE_TO_CLIENT_NEW_BUFFER = 5 106bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 107bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 108bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsAllocationUsageType { 109bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ALLOCATION_USAGE_SCRIPT = 0x0001, 110bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ALLOCATION_USAGE_GRAPHICS_TEXTURE = 0x0002, 111bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ALLOCATION_USAGE_GRAPHICS_VERTEX = 0x0004, 112bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ALLOCATION_USAGE_GRAPHICS_CONSTANTS = 0x0008, 1137d9c5ffccb7a5e682860f752403e5a03aed587beAlex Sakhartchouk RS_ALLOCATION_USAGE_GRAPHICS_RENDER_TARGET = 0x0010, 1143522f40418fdf877f5a136475dbf75e57a3b7c77Jason Sams RS_ALLOCATION_USAGE_IO_INPUT = 0x0020, 1153522f40418fdf877f5a136475dbf75e57a3b7c77Jason Sams RS_ALLOCATION_USAGE_IO_OUTPUT = 0x0040, 1169e2bda58db9e6427a1640ea302d4df079ffa0252Tim Murray RS_ALLOCATION_USAGE_SHARED = 0x0080, 117bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 11841e373d91a60043afa0f9abd026218b49cbc1201Jason Sams RS_ALLOCATION_USAGE_ALL = 0x00FF 119bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 120bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 121bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsAllocationMipmapControl { 122bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ALLOCATION_MIPMAP_NONE = 0, 123bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ALLOCATION_MIPMAP_FULL = 1, 124bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ALLOCATION_MIPMAP_ON_SYNC_TO_TEXTURE = 2 125bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 126bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 127bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsAllocationCubemapFace { 12874a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_X = 0, 12974a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_X = 1, 13074a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_Y = 2, 13174a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_Y = 3, 13274a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_Z = 4, 13374a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_Z = 5 134bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 135bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 136bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsDataType { 137bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_NONE, 138bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_FLOAT_16, 139bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_FLOAT_32, 140bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_FLOAT_64, 141bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_SIGNED_8, 142bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_SIGNED_16, 143bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_SIGNED_32, 144bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_SIGNED_64, 145bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_UNSIGNED_8, 146bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_UNSIGNED_16, 147bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_UNSIGNED_32, 148bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_UNSIGNED_64, 149bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 150bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_BOOLEAN, 151bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 152bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_UNSIGNED_5_6_5, 153bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_UNSIGNED_5_5_5_1, 154bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_UNSIGNED_4_4_4_4, 155bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 156bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_MATRIX_4X4, 157bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_MATRIX_3X3, 158bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_MATRIX_2X2, 159bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 160bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_ELEMENT = 1000, 161bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_TYPE, 162bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_ALLOCATION, 163bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_SAMPLER, 164bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_SCRIPT, 165bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_MESH, 166bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_PROGRAM_FRAGMENT, 167bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_PROGRAM_VERTEX, 168bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_PROGRAM_RASTER, 169bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TYPE_PROGRAM_STORE, 170ae8b795a673b75bf0aec72620f4530db1415f907Stephen Hines RS_TYPE_FONT, 17125a59d051a218bd608b005a149509464b3e6d4f0Alex Sakhartchouk 17225a59d051a218bd608b005a149509464b3e6d4f0Alex Sakhartchouk RS_TYPE_INVALID = 10000, 173bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 174bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 175bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsDataKind { 176bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_KIND_USER, 177bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 178bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_KIND_PIXEL_L = 7, 179bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_KIND_PIXEL_A, 180bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_KIND_PIXEL_LA, 181bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_KIND_PIXEL_RGB, 182bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_KIND_PIXEL_RGBA, 1837d9c5ffccb7a5e682860f752403e5a03aed587beAlex Sakhartchouk RS_KIND_PIXEL_DEPTH, 184bc0ca6ba4e31239bf77060578d0bdf1a10e04168Jason Sams RS_KIND_PIXEL_YUV, 18525a59d051a218bd608b005a149509464b3e6d4f0Alex Sakhartchouk 18625a59d051a218bd608b005a149509464b3e6d4f0Alex Sakhartchouk RS_KIND_INVALID = 100, 187bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 188bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 189bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsSamplerParam { 190bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_SAMPLER_MIN_FILTER, 191bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_SAMPLER_MAG_FILTER, 192bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_SAMPLER_WRAP_S, 193bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_SAMPLER_WRAP_T, 194bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_SAMPLER_WRAP_R, 195bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_SAMPLER_ANISO 196bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 197bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 198bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsSamplerValue { 199bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_SAMPLER_NEAREST, 200bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_SAMPLER_LINEAR, 201bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_SAMPLER_LINEAR_MIP_LINEAR, 202bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_SAMPLER_WRAP, 203bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_SAMPLER_CLAMP, 204bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_SAMPLER_LINEAR_MIP_NEAREST, 2059e913f4a5ab519af6c0c04f9b992d85f1c447d2dTim Murray RS_SAMPLER_MIRRORED_REPEAT, 20625a59d051a218bd608b005a149509464b3e6d4f0Alex Sakhartchouk 20725a59d051a218bd608b005a149509464b3e6d4f0Alex Sakhartchouk RS_SAMPLER_INVALID = 100, 208bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 209bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 210bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsTextureTarget { 211bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TEXTURE_2D, 212bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TEXTURE_CUBE 213bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 214bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 215bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsDimension { 216bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DIMENSION_X, 217bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DIMENSION_Y, 218bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DIMENSION_Z, 219bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DIMENSION_LOD, 220bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DIMENSION_FACE, 221bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 222bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DIMENSION_ARRAY_0 = 100, 223bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DIMENSION_ARRAY_1, 224bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DIMENSION_ARRAY_2, 225bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DIMENSION_ARRAY_3, 226bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DIMENSION_MAX = RS_DIMENSION_ARRAY_3 227bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 228bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 229bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsDepthFunc { 230bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DEPTH_FUNC_ALWAYS, 231bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DEPTH_FUNC_LESS, 232bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DEPTH_FUNC_LEQUAL, 233bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DEPTH_FUNC_GREATER, 234bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DEPTH_FUNC_GEQUAL, 235bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DEPTH_FUNC_EQUAL, 236bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_DEPTH_FUNC_NOTEQUAL 237bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 238bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 239bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsBlendSrcFunc { 240bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_BLEND_SRC_ZERO, // 0 241bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_BLEND_SRC_ONE, // 1 242bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_BLEND_SRC_DST_COLOR, // 2 243bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_BLEND_SRC_ONE_MINUS_DST_COLOR, // 3 244bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_BLEND_SRC_SRC_ALPHA, // 4 245bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_BLEND_SRC_ONE_MINUS_SRC_ALPHA, // 5 246bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_BLEND_SRC_DST_ALPHA, // 6 247bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_BLEND_SRC_ONE_MINUS_DST_ALPHA, // 7 24825a59d051a218bd608b005a149509464b3e6d4f0Alex Sakhartchouk RS_BLEND_SRC_SRC_ALPHA_SATURATE, // 8 24925a59d051a218bd608b005a149509464b3e6d4f0Alex Sakhartchouk RS_BLEND_SRC_INVALID = 100, 250bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 251bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 252bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsBlendDstFunc { 253bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_BLEND_DST_ZERO, // 0 254bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_BLEND_DST_ONE, // 1 255bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_BLEND_DST_SRC_COLOR, // 2 256bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_BLEND_DST_ONE_MINUS_SRC_COLOR, // 3 257bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_BLEND_DST_SRC_ALPHA, // 4 258bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_BLEND_DST_ONE_MINUS_SRC_ALPHA, // 5 259bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_BLEND_DST_DST_ALPHA, // 6 26025a59d051a218bd608b005a149509464b3e6d4f0Alex Sakhartchouk RS_BLEND_DST_ONE_MINUS_DST_ALPHA, // 7 26125a59d051a218bd608b005a149509464b3e6d4f0Alex Sakhartchouk 26225a59d051a218bd608b005a149509464b3e6d4f0Alex Sakhartchouk RS_BLEND_DST_INVALID = 100, 263bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 264bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 265bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsTexEnvMode { 266bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TEX_ENV_MODE_NONE, 267bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TEX_ENV_MODE_REPLACE, 268bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TEX_ENV_MODE_MODULATE, 269bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_TEX_ENV_MODE_DECAL 270bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 271bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 272bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsProgramParam { 273bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_PROGRAM_PARAM_INPUT, 274bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_PROGRAM_PARAM_OUTPUT, 275bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_PROGRAM_PARAM_CONSTANT, 276bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_PROGRAM_PARAM_TEXTURE_TYPE, 277bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 278bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 279bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsPrimitive { 280bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_PRIMITIVE_POINT, 281bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_PRIMITIVE_LINE, 282bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_PRIMITIVE_LINE_STRIP, 283bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_PRIMITIVE_TRIANGLE, 284bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_PRIMITIVE_TRIANGLE_STRIP, 28525a59d051a218bd608b005a149509464b3e6d4f0Alex Sakhartchouk RS_PRIMITIVE_TRIANGLE_FAN, 28625a59d051a218bd608b005a149509464b3e6d4f0Alex Sakhartchouk 28725a59d051a218bd608b005a149509464b3e6d4f0Alex Sakhartchouk RS_PRIMITIVE_INVALID = 100, 288bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 289bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 2909e0afb5a2b3e476c42a373e7cd89cef4a34f8195Jason Samsenum RsPathPrimitive { 2919e0afb5a2b3e476c42a373e7cd89cef4a34f8195Jason Sams RS_PATH_PRIMITIVE_QUADRATIC_BEZIER, 2929e0afb5a2b3e476c42a373e7cd89cef4a34f8195Jason Sams RS_PATH_PRIMITIVE_CUBIC_BEZIER 2939e0afb5a2b3e476c42a373e7cd89cef4a34f8195Jason Sams}; 2949e0afb5a2b3e476c42a373e7cd89cef4a34f8195Jason Sams 295bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsError { 296bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ERROR_NONE = 0, 297bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ERROR_BAD_SHADER = 1, 298bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ERROR_BAD_SCRIPT = 2, 299bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ERROR_BAD_VALUE = 3, 300bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ERROR_OUT_OF_MEMORY = 4, 301bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ERROR_DRIVER = 5, 302bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 303cca3d6ca444bef3b6d75431ec19bd07bfe40a733Stephen Hines // Errors that only occur in the debug context. 304cca3d6ca444bef3b6d75431ec19bd07bfe40a733Stephen Hines RS_ERROR_FATAL_DEBUG = 0x0800, 305cca3d6ca444bef3b6d75431ec19bd07bfe40a733Stephen Hines 306bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ERROR_FATAL_UNKNOWN = 0x1000, 307bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ERROR_FATAL_DRIVER = 0x1001, 308bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ERROR_FATAL_PROGRAM_LINK = 0x1002 309bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 310bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 311bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsAnimationInterpolation { 312bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ANIMATION_INTERPOLATION_STEP, 313bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ANIMATION_INTERPOLATION_LINEAR, 314bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ANIMATION_INTERPOLATION_BEZIER, 315bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ANIMATION_INTERPOLATION_CARDINAL, 316bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ANIMATION_INTERPOLATION_HERMITE, 317bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ANIMATION_INTERPOLATION_BSPLINE 318bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 319bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 320bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsAnimationEdge { 321bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ANIMATION_EDGE_UNDEFINED, 322bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ANIMATION_EDGE_CONSTANT, 323bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ANIMATION_EDGE_GRADIENT, 324bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ANIMATION_EDGE_CYCLE, 325bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ANIMATION_EDGE_OSCILLATE, 326bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_ANIMATION_EDGE_CYLE_RELATIVE 327bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 328bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 329bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsA3DClassID { 330bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_A3D_CLASS_ID_UNKNOWN, 331bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_A3D_CLASS_ID_MESH, 332bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_A3D_CLASS_ID_TYPE, 333bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_A3D_CLASS_ID_ELEMENT, 334bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_A3D_CLASS_ID_ALLOCATION, 335bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_A3D_CLASS_ID_PROGRAM_VERTEX, 336bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_A3D_CLASS_ID_PROGRAM_RASTER, 337bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_A3D_CLASS_ID_PROGRAM_FRAGMENT, 338bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_A3D_CLASS_ID_PROGRAM_STORE, 339bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_A3D_CLASS_ID_SAMPLER, 340bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_A3D_CLASS_ID_ANIMATION, 341bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_A3D_CLASS_ID_ADAPTER_1D, 342bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_A3D_CLASS_ID_ADAPTER_2D, 343dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams RS_A3D_CLASS_ID_SCRIPT_C, 344dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams RS_A3D_CLASS_ID_SCRIPT_KERNEL_ID, 345dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams RS_A3D_CLASS_ID_SCRIPT_FIELD_ID, 346dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams RS_A3D_CLASS_ID_SCRIPT_METHOD_ID, 347dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams RS_A3D_CLASS_ID_SCRIPT_GROUP 348bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 349bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 350bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samsenum RsCullMode { 351bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_CULL_BACK, 352bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RS_CULL_FRONT, 35325a59d051a218bd608b005a149509464b3e6d4f0Alex Sakhartchouk RS_CULL_NONE, 35425a59d051a218bd608b005a149509464b3e6d4f0Alex Sakhartchouk RS_CULL_INVALID = 100, 355bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 356bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 35741d6c769f5fa21da3cbc116af95d88949a4a5c76Stephen Hinesenum RsScriptIntrinsicID { 3588eaba4fee0c7b5325742c87187622fdff51d5effJason Sams RS_SCRIPT_INTRINSIC_ID_UNDEFINED = 0, 3598eaba4fee0c7b5325742c87187622fdff51d5effJason Sams RS_SCRIPT_INTRINSIC_ID_CONVOLVE_3x3 = 1, 360d85e283087ecd00760a0d8d0c9d8482cda845efcJason Sams RS_SCRIPT_INTRINSIC_ID_COLOR_MATRIX = 2, 361d85e283087ecd00760a0d8d0c9d8482cda845efcJason Sams RS_SCRIPT_INTRINSIC_ID_LUT = 3, 362d85e283087ecd00760a0d8d0c9d8482cda845efcJason Sams RS_SCRIPT_INTRINSIC_ID_CONVOLVE_5x5 = 4, 36301f03a04da629b9a3e3ff33287dd277b12c54148Jason Sams RS_SCRIPT_INTRINSIC_ID_BLUR = 5, 36436889a0ecf564e3d47e7f69bb030c6b927061792Tim Murray RS_SCRIPT_INTRINSIC_ID_YUV_TO_RGB = 6, 3657c4b888f2147edf99690b6af75470774ff31c43bJason Sams RS_SCRIPT_INTRINSIC_ID_BLEND = 7, 3662282e2816ac5f5de53f9bd4f3ecbdfd6d756d120Jason Sams RS_SCRIPT_INTRINSIC_ID_3DLUT = 8, 3672282e2816ac5f5de53f9bd4f3ecbdfd6d756d120Jason Sams RS_SCRIPT_INTRINSIC_ID_HISTOGRAM = 9 3688eaba4fee0c7b5325742c87187622fdff51d5effJason Sams}; 3698eaba4fee0c7b5325742c87187622fdff51d5effJason Sams 370bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef struct { 371bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams RsA3DClassID classID; 372bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams const char* objectName; 373bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams} RsFileIndexEntry; 374bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 375f598811a60088236222bb1879503842094ca378bStephen Hinesenum RsForEachStrategy { 376f598811a60088236222bb1879503842094ca378bStephen Hines RS_FOR_EACH_STRATEGY_SERIAL = 0, 377f598811a60088236222bb1879503842094ca378bStephen Hines RS_FOR_EACH_STRATEGY_DONT_CARE = 1, 378f598811a60088236222bb1879503842094ca378bStephen Hines RS_FOR_EACH_STRATEGY_DST_LINEAR = 2, 379f598811a60088236222bb1879503842094ca378bStephen Hines RS_FOR_EACH_STRATEGY_TILE_SMALL = 3, 380f598811a60088236222bb1879503842094ca378bStephen Hines RS_FOR_EACH_STRATEGY_TILE_MEDIUM = 4, 381f598811a60088236222bb1879503842094ca378bStephen Hines RS_FOR_EACH_STRATEGY_TILE_LARGE = 5 382f598811a60088236222bb1879503842094ca378bStephen Hines}; 383f598811a60088236222bb1879503842094ca378bStephen Hines 384bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams// Script to Script 385bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Samstypedef struct { 386f598811a60088236222bb1879503842094ca378bStephen Hines enum RsForEachStrategy strategy; 387bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t xStart; 388bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t xEnd; 389bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t yStart; 390bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t yEnd; 391bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t zStart; 392bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t zEnd; 393bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t arrayStart; 394bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams uint32_t arrayEnd; 395bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 396bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams} RsScriptCall; 397bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 39884e3dea053bea25c1cec44ffb298f8b5b9b9141aTim Murrayenum RsContextFlags { 39984e3dea053bea25c1cec44ffb298f8b5b9b9141aTim Murray RS_CONTEXT_SYNCHRONOUS = 1, 40084e3dea053bea25c1cec44ffb298f8b5b9b9141aTim Murray RS_CONTEXT_LOW_LATENCY = 2, 40184e3dea053bea25c1cec44ffb298f8b5b9b9141aTim Murray RS_CONTEXT_MAX = 4 40284e3dea053bea25c1cec44ffb298f8b5b9b9141aTim Murray}; 40384e3dea053bea25c1cec44ffb298f8b5b9b9141aTim Murray 40484e3dea053bea25c1cec44ffb298f8b5b9b9141aTim Murray 405bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams#ifdef __cplusplus 406bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams}; 407bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams#endif 408bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 409bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams#endif // RENDER_SCRIPT_DEFINES_H 410bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 411bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 412bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 413bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams 414