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