rsScript.cpp revision d34b725ac1752f5a234c7643a0b65245591ea1cc
1326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams/* 2326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams * Copyright (C) 2009 The Android Open Source Project 3326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams * 4326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams * Licensed under the Apache License, Version 2.0 (the "License"); 5326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams * you may not use this file except in compliance with the License. 6326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams * You may obtain a copy of the License at 7326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams * 8326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams * http://www.apache.org/licenses/LICENSE-2.0 9326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams * 10326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams * Unless required by applicable law or agreed to in writing, software 11326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams * distributed under the License is distributed on an "AS IS" BASIS, 12326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams * See the License for the specific language governing permissions and 14326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams * limitations under the License. 15326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams */ 16326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 17326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams#include "rsContext.h" 18326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 19326e0ddf89e8df2837752fbfd7a014814b32082cJason Samsusing namespace android; 20326e0ddf89e8df2837752fbfd7a014814b32082cJason Samsusing namespace android::renderscript; 21326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 22326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScript::Script() 23326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams{ 24928b734b2fbba0800567c8b7e686bcf5f45483ccJason Sams memset(&mEnviroment, 0, sizeof(mEnviroment)); 25928b734b2fbba0800567c8b7e686bcf5f45483ccJason Sams mEnviroment.mClearColor[0] = 0; 26928b734b2fbba0800567c8b7e686bcf5f45483ccJason Sams mEnviroment.mClearColor[1] = 0; 27928b734b2fbba0800567c8b7e686bcf5f45483ccJason Sams mEnviroment.mClearColor[2] = 0; 28928b734b2fbba0800567c8b7e686bcf5f45483ccJason Sams mEnviroment.mClearColor[3] = 1; 29928b734b2fbba0800567c8b7e686bcf5f45483ccJason Sams mEnviroment.mClearDepth = 1; 30326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams} 31326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 32326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScript::~Script() 33326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams{ 34326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams} 35326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 36326e0ddf89e8df2837752fbfd7a014814b32082cJason Samsnamespace android { 37326e0ddf89e8df2837752fbfd7a014814b32082cJason Samsnamespace renderscript { 38326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 39326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 40326e0ddf89e8df2837752fbfd7a014814b32082cJason Samsvoid rsi_ScriptDestroy(Context * rsc, RsScript vs) 41326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams{ 42326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams Script *s = static_cast<Script *>(vs); 43326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams s->decRef(); 44326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams} 45326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 46326e0ddf89e8df2837752fbfd7a014814b32082cJason Samsvoid rsi_ScriptBindAllocation(Context * rsc, RsScript vs, RsAllocation va, uint32_t slot) 47326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams{ 48326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams Script *s = static_cast<Script *>(vs); 49326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams s->mSlots[slot].set(static_cast<Allocation *>(va)); 50326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams} 51326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 52d34b725ac1752f5a234c7643a0b65245591ea1ccJason Samsvoid rsi_ScriptSetClearColor(Context * rsc, RsScript vs, float r, float g, float b, float a) 53d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams{ 54d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams Script *s = static_cast<Script *>(vs); 55d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams s->mEnviroment.mClearColor[0] = r; 56d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams s->mEnviroment.mClearColor[1] = g; 57d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams s->mEnviroment.mClearColor[2] = b; 58d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams s->mEnviroment.mClearColor[3] = a; 59d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams} 60d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams 61d34b725ac1752f5a234c7643a0b65245591ea1ccJason Samsvoid rsi_ScriptSetTimeZone(Context * rsc, RsScript vs, const char * timeZone, uint32_t length) 62d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams{ 63d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams Script *s = static_cast<Script *>(vs); 64d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams s->mEnviroment.mTimeZone = timeZone; 65d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams} 66d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams 67d34b725ac1752f5a234c7643a0b65245591ea1ccJason Samsvoid rsi_ScriptSetClearDepth(Context * rsc, RsScript vs, float v) 68d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams{ 69d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams Script *s = static_cast<Script *>(vs); 70d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams s->mEnviroment.mClearDepth = v; 71d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams} 72d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams 73d34b725ac1752f5a234c7643a0b65245591ea1ccJason Samsvoid rsi_ScriptSetClearStencil(Context * rsc, RsScript vs, uint32_t v) 74d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams{ 75d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams Script *s = static_cast<Script *>(vs); 76d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams s->mEnviroment.mClearStencil = v; 77d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams} 78326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 79326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams} 80326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams} 81326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams 82