rsScriptGroup2.h revision 1ffd86b448d78366190c540f98f8b6d641cdb6cf
11ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni#ifndef ANDROID_RENDERSCRIPT_SCRIPTGROUP2_H_ 21ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni#define ANDROID_RENDERSCRIPT_SCRIPTGROUP2_H_ 31ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni 41ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni#include "rsScriptGroupBase.h" 51ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni 61ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni#include <list> 71ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni 81ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ninamespace android { 91ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ninamespace renderscript { 101ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni 111ffd86b448d78366190c540f98f8b6d641cdb6cfYang Niclass Closure; 121ffd86b448d78366190c540f98f8b6d641cdb6cfYang Niclass Context; 131ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni 141ffd86b448d78366190c540f98f8b6d641cdb6cfYang Niclass ScriptGroup2 : public ScriptGroupBase { 151ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni public: 161ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni /* 171ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni TODO: 181ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni Inputs and outputs are set and retrieved in Java runtime. 191ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni They are opaque in the C++ runtime. 201ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni For better compiler optimizations (of a script group), we need to include 211ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni input and output information in the C++ runtime. 221ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni */ 231ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni ScriptGroup2(Context* rsc, Closure** closures, size_t numClosures) : 241ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni ScriptGroupBase(rsc), mClosures(closures, closures + numClosures) {} 251ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni virtual ~ScriptGroup2() {} 261ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni 271ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni virtual SG_API_Version getApiVersion() const { return SG_V2; } 281ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni virtual void execute(Context* rsc); 291ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni 301ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni std::list<Closure*> mClosures; 311ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni}; 321ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni 331ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni} // namespace renderscript 341ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni} // namespace android 351ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni 361ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni#endif // ANDROID_RENDERSCRIPT_SCRIPTGROUP2_H_ 37