17f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk/*
27f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk * Copyright (C) 2011 The Android Open Source Project
37f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk *
47f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk * Licensed under the Apache License, Version 2.0 (the "License");
57f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk * you may not use this file except in compliance with the License.
67f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk * You may obtain a copy of the License at
77f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk *
87f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk *      http://www.apache.org/licenses/LICENSE-2.0
97f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk *
107f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk * Unless required by applicable law or agreed to in writing, software
117f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk * distributed under the License is distributed on an "AS IS" BASIS,
127f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
137f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk * See the License for the specific language governing permissions and
147f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk * limitations under the License.
157f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk */
167f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk
177f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk#ifndef ANDROID_RS_PROGRAM_BASE_H
187f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk#define ANDROID_RS_PROGRAM_BASE_H
197f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk
207f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk#include "rsObjectBase.h"
217f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk#include "rsElement.h"
227f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk
237f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk// ---------------------------------------------------------------------------
247f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouknamespace android {
257f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouknamespace renderscript {
267f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk
277f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchoukclass ProgramBase : public ObjectBase {
287f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchoukpublic:
297f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk    ProgramBase(Context *rsc) : ObjectBase(rsc) {
307f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk        mDirty = true;
317f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk    }
327f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk
337f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk    void forceDirty() const {mDirty = true;}
347f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk
357f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchoukprotected:
367f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk    mutable bool mDirty;
377f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk};
387f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk
397f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk}
407f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk}
417f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk#endif // ANDROID_RS_PROGRAM_BASE_H
427f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk
437f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk
447f126c78a107257090c6675ea40ffac41516a9dcAlex Sakhartchouk
45