fixing bugs 3053960, 3044804, 3044798
shader cleanup and removing unnecessary state setup.

Change-Id: Ibddf2ad3a26bb983fc43bdeb58b1cec6224920b4
diff --git a/rsProgramFragment.cpp b/rsProgramFragment.cpp
index 275a1df..c94f294 100644
--- a/rsProgramFragment.cpp
+++ b/rsProgramFragment.cpp
@@ -49,6 +49,9 @@
 
 ProgramFragment::~ProgramFragment()
 {
+    if(mShaderID) {
+        mRSC->mShaderCache.cleanupFragment(mShaderID);
+    }
 }
 
 void ProgramFragment::setConstantColor(Context *rsc, float r, float g, float b, float a)