summaryrefslogtreecommitdiffstats
path: root/libs/rs/rsProgramFragment.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/rs/rsProgramFragment.h')
-rw-r--r--libs/rs/rsProgramFragment.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/libs/rs/rsProgramFragment.h b/libs/rs/rsProgramFragment.h
index 9fa565d..7c1598e 100644
--- a/libs/rs/rsProgramFragment.h
+++ b/libs/rs/rsProgramFragment.h
@@ -40,6 +40,11 @@ public:
virtual void createShader();
virtual void loadShader(Context *rsc);
virtual void init(Context *rsc);
+ virtual void serialize(OStream *stream) const;
+ virtual RsA3DClassID getClassId() const { return RS_A3D_CLASS_ID_PROGRAM_FRAGMENT; }
+ static ProgramFragment *createFromStream(Context *rsc, IStream *stream);
+
+ void setConstantColor(float, float, float, float);
protected:
// Hacks to create a program for now
@@ -48,6 +53,10 @@ protected:
RsTexEnvMode mEnvModes[MAX_TEXTURE];
uint32_t mTextureEnableMask;
bool mPointSpriteEnable;
+ bool mVaryingColor;
+
+ float mConstantColor[4];
+ int32_t mConstantColorUniformIndex;
};
class ProgramFragmentState
@@ -57,7 +66,7 @@ public:
~ProgramFragmentState();
ProgramFragment *mPF;
- void init(Context *rsc, int32_t w, int32_t h);
+ void init(Context *rsc);
void deinit(Context *rsc);
ObjectBaseRef<Type> mTextureTypes[ProgramFragment::MAX_TEXTURE];