rsProgram.cpp revision cfb1d11ce6826fce7241d316d8b7dcab661f63a6
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#include "rsProgram.h"
19326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
20326e0ddf89e8df2837752fbfd7a014814b32082cJason Samsusing namespace android;
21326e0ddf89e8df2837752fbfd7a014814b32082cJason Samsusing namespace android::renderscript;
22326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
23326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
24326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgram::Program(Element *in, Element *out)
25326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams{
26326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams    mElementIn.set(in);
27326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams    mElementOut.set(out);
28326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
29326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
30326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams}
31326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
32326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgram::~Program()
33326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams{
34326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams}
35326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
36326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
37cfb1d11ce6826fce7241d316d8b7dcab661f63a6Jason Samsvoid Program::bindAllocation(Allocation *alloc)
38326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams{
39326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams    mConstants.set(alloc);
40326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams    mDirty = true;
41326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams}
42326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
43cfb1d11ce6826fce7241d316d8b7dcab661f63a6Jason Samsvoid Program::checkUpdatedAllocation(const Allocation *alloc)
44cfb1d11ce6826fce7241d316d8b7dcab661f63a6Jason Sams{
45cfb1d11ce6826fce7241d316d8b7dcab661f63a6Jason Sams    if (mConstants.get() == alloc) {
46cfb1d11ce6826fce7241d316d8b7dcab661f63a6Jason Sams        mDirty = true;
47cfb1d11ce6826fce7241d316d8b7dcab661f63a6Jason Sams    }
48cfb1d11ce6826fce7241d316d8b7dcab661f63a6Jason Sams}
49cfb1d11ce6826fce7241d316d8b7dcab661f63a6Jason Sams
50326e0ddf89e8df2837752fbfd7a014814b32082cJason Samsvoid Program::setupGL()
51326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams{
52326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
53326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams}
54326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
55326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
56