rsScriptGroup2.h revision da0f069871343119251d6b0586be356dc2146a62
1#ifndef ANDROID_RENDERSCRIPT_SCRIPTGROUP2_H_ 2#define ANDROID_RENDERSCRIPT_SCRIPTGROUP2_H_ 3 4#include "rsScriptGroupBase.h" 5 6#include <list> 7#include <string> 8 9namespace android { 10namespace renderscript { 11 12class Closure; 13class Context; 14 15class ScriptGroup2 : public ScriptGroupBase { 16 public: 17 /* 18 TODO: 19 Inputs and outputs are set and retrieved in Java runtime. 20 They are opaque in the C++ runtime. 21 For better compiler optimizations (of a script group), we need to include 22 input and output information in the C++ runtime. 23 */ 24 ScriptGroup2(Context* rsc, const char* cacheDir, Closure** closures, 25 size_t numClosures) : 26 ScriptGroupBase(rsc), mCacheDir(cacheDir), 27 mClosures(closures, closures + numClosures) {} 28 virtual ~ScriptGroup2() {} 29 30 virtual SG_API_Version getApiVersion() const { return SG_V2; } 31 virtual void execute(Context* rsc); 32 33 const std::string mCacheDir; 34 std::list<Closure*> mClosures; 35}; 36 37} // namespace renderscript 38} // namespace android 39 40#endif // ANDROID_RENDERSCRIPT_SCRIPTGROUP2_H_ 41