xref: /aosp_15_r20/frameworks/rs/rsScriptGroupBase.h (revision e1eccf28f96817838ad6867f7f39d2351ec11f56)
1*e1eccf28SAndroid Build Coastguard Worker #ifndef ANDROID_RS_SCRIPT_GROUP_BASE_H
2*e1eccf28SAndroid Build Coastguard Worker #define ANDROID_RS_SCRIPT_GROUP_BASE_H
3*e1eccf28SAndroid Build Coastguard Worker 
4*e1eccf28SAndroid Build Coastguard Worker #include "rsObjectBase.h"
5*e1eccf28SAndroid Build Coastguard Worker 
6*e1eccf28SAndroid Build Coastguard Worker namespace android {
7*e1eccf28SAndroid Build Coastguard Worker namespace renderscript {
8*e1eccf28SAndroid Build Coastguard Worker 
9*e1eccf28SAndroid Build Coastguard Worker class ScriptGroupBase : public ObjectBase {
10*e1eccf28SAndroid Build Coastguard Worker  public:
ScriptGroupBase(Context * rsc)11*e1eccf28SAndroid Build Coastguard Worker   explicit ScriptGroupBase(Context* rsc) : ObjectBase(rsc) {}
~ScriptGroupBase()12*e1eccf28SAndroid Build Coastguard Worker   virtual ~ScriptGroupBase() {}
13*e1eccf28SAndroid Build Coastguard Worker 
serialize(Context * rsc,OStream * stream)14*e1eccf28SAndroid Build Coastguard Worker   virtual void serialize(Context *rsc, OStream *stream) const {}
15*e1eccf28SAndroid Build Coastguard Worker 
getClassId()16*e1eccf28SAndroid Build Coastguard Worker   virtual RsA3DClassID getClassId() const {
17*e1eccf28SAndroid Build Coastguard Worker     return RS_A3D_CLASS_ID_SCRIPT_GROUP;
18*e1eccf28SAndroid Build Coastguard Worker   }
19*e1eccf28SAndroid Build Coastguard Worker 
20*e1eccf28SAndroid Build Coastguard Worker   enum SG_API_Version {
21*e1eccf28SAndroid Build Coastguard Worker     SG_V1 = 10,
22*e1eccf28SAndroid Build Coastguard Worker     SG_V2 = 20,
23*e1eccf28SAndroid Build Coastguard Worker   };
24*e1eccf28SAndroid Build Coastguard Worker 
25*e1eccf28SAndroid Build Coastguard Worker   virtual void execute(Context *rsc) = 0;
26*e1eccf28SAndroid Build Coastguard Worker   virtual SG_API_Version getApiVersion() const = 0;
27*e1eccf28SAndroid Build Coastguard Worker 
28*e1eccf28SAndroid Build Coastguard Worker   struct Hal {
29*e1eccf28SAndroid Build Coastguard Worker     void * drv;
30*e1eccf28SAndroid Build Coastguard Worker 
31*e1eccf28SAndroid Build Coastguard Worker     struct DriverInfo {
32*e1eccf28SAndroid Build Coastguard Worker     };
33*e1eccf28SAndroid Build Coastguard Worker     DriverInfo info;
34*e1eccf28SAndroid Build Coastguard Worker   };
35*e1eccf28SAndroid Build Coastguard Worker   Hal mHal;
36*e1eccf28SAndroid Build Coastguard Worker };
37*e1eccf28SAndroid Build Coastguard Worker 
38*e1eccf28SAndroid Build Coastguard Worker }  // namespace renderscript
39*e1eccf28SAndroid Build Coastguard Worker }  // namespace android
40*e1eccf28SAndroid Build Coastguard Worker 
41*e1eccf28SAndroid Build Coastguard Worker #endif  // ANDROID_RS_SCRIPT_GROUP_BASE_H
42