rsScript.cpp revision 22534176fb5c1257130ef4ee589739ca42766a32
1d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams/* 2d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams * Copyright (C) 2009 The Android Open Source Project 3d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams * 4d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams * Licensed under the Apache License, Version 2.0 (the "License"); 5d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams * you may not use this file except in compliance with the License. 6d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams * You may obtain a copy of the License at 7d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams * 8d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams * http://www.apache.org/licenses/LICENSE-2.0 9d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams * 10d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams * Unless required by applicable law or agreed to in writing, software 11d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams * distributed under the License is distributed on an "AS IS" BASIS, 12d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams * See the License for the specific language governing permissions and 14d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams * limitations under the License. 15d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams */ 16d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams 17d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams#include "rsContext.h" 18d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams 19d19f10d43aa400e1183aa21a97099d02074131a2Jason Samsusing namespace android; 20d19f10d43aa400e1183aa21a97099d02074131a2Jason Samsusing namespace android::renderscript; 21d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams 22d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsScript::Script() 23d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams{ 24928f5cf2870177abd715e1dfb81da6ac1fe3e845Jason Sams memset(&mEnviroment, 0, sizeof(mEnviroment)); 25928f5cf2870177abd715e1dfb81da6ac1fe3e845Jason Sams mEnviroment.mClearColor[0] = 0; 26928f5cf2870177abd715e1dfb81da6ac1fe3e845Jason Sams mEnviroment.mClearColor[1] = 0; 27928f5cf2870177abd715e1dfb81da6ac1fe3e845Jason Sams mEnviroment.mClearColor[2] = 0; 28928f5cf2870177abd715e1dfb81da6ac1fe3e845Jason Sams mEnviroment.mClearColor[3] = 1; 29928f5cf2870177abd715e1dfb81da6ac1fe3e845Jason Sams mEnviroment.mClearDepth = 1; 30d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams} 31d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams 32d19f10d43aa400e1183aa21a97099d02074131a2Jason SamsScript::~Script() 33d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams{ 34d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams} 35d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams 36d19f10d43aa400e1183aa21a97099d02074131a2Jason Samsnamespace android { 37d19f10d43aa400e1183aa21a97099d02074131a2Jason Samsnamespace renderscript { 38d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams 39d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams 40d19f10d43aa400e1183aa21a97099d02074131a2Jason Samsvoid rsi_ScriptDestroy(Context * rsc, RsScript vs) 41d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams{ 42d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams Script *s = static_cast<Script *>(vs); 43d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams s->decRef(); 44d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams} 45d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams 46d19f10d43aa400e1183aa21a97099d02074131a2Jason Samsvoid rsi_ScriptBindAllocation(Context * rsc, RsScript vs, RsAllocation va, uint32_t slot) 47d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams{ 48d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams Script *s = static_cast<Script *>(vs); 49d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams s->mSlots[slot].set(static_cast<Allocation *>(va)); 50d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams} 51d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams 5222534176fb5c1257130ef4ee589739ca42766a32Jason Samsvoid rsi_ScriptSetClearColor(Context * rsc, RsScript vs, float r, float g, float b, float a) 5322534176fb5c1257130ef4ee589739ca42766a32Jason Sams{ 5422534176fb5c1257130ef4ee589739ca42766a32Jason Sams Script *s = static_cast<Script *>(vs); 5522534176fb5c1257130ef4ee589739ca42766a32Jason Sams s->mEnviroment.mClearColor[0] = r; 5622534176fb5c1257130ef4ee589739ca42766a32Jason Sams s->mEnviroment.mClearColor[1] = g; 5722534176fb5c1257130ef4ee589739ca42766a32Jason Sams s->mEnviroment.mClearColor[2] = b; 5822534176fb5c1257130ef4ee589739ca42766a32Jason Sams s->mEnviroment.mClearColor[3] = a; 5922534176fb5c1257130ef4ee589739ca42766a32Jason Sams} 6022534176fb5c1257130ef4ee589739ca42766a32Jason Sams 6122534176fb5c1257130ef4ee589739ca42766a32Jason Samsvoid rsi_ScriptSetTimeZone(Context * rsc, RsScript vs, const char * timeZone, uint32_t length) 6222534176fb5c1257130ef4ee589739ca42766a32Jason Sams{ 6322534176fb5c1257130ef4ee589739ca42766a32Jason Sams Script *s = static_cast<Script *>(vs); 6422534176fb5c1257130ef4ee589739ca42766a32Jason Sams s->mEnviroment.mTimeZone = timeZone; 6522534176fb5c1257130ef4ee589739ca42766a32Jason Sams} 6622534176fb5c1257130ef4ee589739ca42766a32Jason Sams 6722534176fb5c1257130ef4ee589739ca42766a32Jason Samsvoid rsi_ScriptSetClearDepth(Context * rsc, RsScript vs, float v) 6822534176fb5c1257130ef4ee589739ca42766a32Jason Sams{ 6922534176fb5c1257130ef4ee589739ca42766a32Jason Sams Script *s = static_cast<Script *>(vs); 7022534176fb5c1257130ef4ee589739ca42766a32Jason Sams s->mEnviroment.mClearDepth = v; 7122534176fb5c1257130ef4ee589739ca42766a32Jason Sams} 7222534176fb5c1257130ef4ee589739ca42766a32Jason Sams 7322534176fb5c1257130ef4ee589739ca42766a32Jason Samsvoid rsi_ScriptSetClearStencil(Context * rsc, RsScript vs, uint32_t v) 7422534176fb5c1257130ef4ee589739ca42766a32Jason Sams{ 7522534176fb5c1257130ef4ee589739ca42766a32Jason Sams Script *s = static_cast<Script *>(vs); 7622534176fb5c1257130ef4ee589739ca42766a32Jason Sams s->mEnviroment.mClearStencil = v; 7722534176fb5c1257130ef4ee589739ca42766a32Jason Sams} 78d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams 79d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams} 80d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams} 81d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams 82