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#ifndef ANDROID_RS_DEVICE_H
18d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams#define ANDROID_RS_DEVICE_H
19d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
204b962e57a9a1fa923283f2d76855c1c68449564fJason Sams#include "rsUtils.h"
21d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
22d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams// ---------------------------------------------------------------------------
23d19f10d43aa400e1183aa21a97099d02074131a2Jason Samsnamespace android {
24d19f10d43aa400e1183aa21a97099d02074131a2Jason Samsnamespace renderscript {
25d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
26d19f10d43aa400e1183aa21a97099d02074131a2Jason Samsclass Context;
27d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
28d19f10d43aa400e1183aa21a97099d02074131a2Jason Samsclass Device {
29d19f10d43aa400e1183aa21a97099d02074131a2Jason Samspublic:
30d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams    Device();
31d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams    ~Device();
32d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
33d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams    void addContext(Context *);
34d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams    void removeContext(Context *);
35d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
36ebfb436a49673693b98469683451bd9ede797557Jason Sams    bool mForceSW;
37ebfb436a49673693b98469683451bd9ede797557Jason Sams
38d19f10d43aa400e1183aa21a97099d02074131a2Jason Samsprotected:
39d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams    Vector<Context *> mContexts;
40d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams};
41d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams
42d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams}
43d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams}
44d19f10d43aa400e1183aa21a97099d02074131a2Jason Sams#endif
45