Fix conflict with automatic DPI support on high density devices by forcing bitmap loading to not be scaled.
diff --git a/rsScriptC.cpp b/rsScriptC.cpp
index 21d792c..adbe3e9 100644
--- a/rsScriptC.cpp
+++ b/rsScriptC.cpp
@@ -353,67 +353,6 @@
     glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
 }
 
-extern "C" void drawQuad(int32_t x1, int32_t y1, int32_t z1,
-                         int32_t x2, int32_t y2, int32_t z2,
-                         int32_t x3, int32_t y3, int32_t z3,
-                         int32_t x4, int32_t y4, int32_t z4)
-{
-    GET_TLS();
-    //x1 = (x1 << 16);
-    //x2 = (x2 << 16);
-    //y1 = (y1 << 16);
-    //y2 = (y2 << 16);
-
-    //LOGE("Quad");
-    //LOGE("0x%08x, 0x%08x, 0x%08x", x1, y1, z1);
-    //LOGE("0x%08x, 0x%08x, 0x%08x", x2, y2, z2);
-    //LOGE("0x%08x, 0x%08x, 0x%08x", x3, y3, z3);
-    //LOGE("0x%08x, 0x%08x, 0x%08x", x4, y4, z4);
-
-    int32_t vtx[] = {x1,y1,z1, x2,y2,z2, x3,y3,z3, x4,y4,z4};
-    static const int32_t tex[] = {0,0, 0,0x10000, 0x10000,0x10000, 0x10000,0};
-
-
-    rsc->setupCheck();
-
-    glBindBuffer(GL_ARRAY_BUFFER, 0);
-    //glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, tm->mBufferObjects[1]);
-
-    glEnableClientState(GL_VERTEX_ARRAY);
-    glVertexPointer(3, GL_FIXED, 0, vtx);
-
-    glClientActiveTexture(GL_TEXTURE0);
-    glEnableClientState(GL_TEXTURE_COORD_ARRAY);
-    glTexCoordPointer(2, GL_FIXED, 0, tex);
-    glClientActiveTexture(GL_TEXTURE1);
-    glEnableClientState(GL_TEXTURE_COORD_ARRAY);
-    glTexCoordPointer(2, GL_FIXED, 0, tex);
-    glClientActiveTexture(GL_TEXTURE0);
-
-    glDisableClientState(GL_NORMAL_ARRAY);
-    glDisableClientState(GL_COLOR_ARRAY);
-
-    //glColorPointer(4, GL_UNSIGNED_BYTE, 12, ptr);
-
-    glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
-}
-
-extern "C" int32_t sinx(int32_t angle)
-{
-    float a = ((float)angle) / 0x10000;
-    a *= 3.14f / 180.f;
-    float s = (float)sin(a);
-    return int32_t(s * 0x10000);
-}
-
-extern "C" int32_t cosx(int32_t angle)
-{
-    float a = ((float)angle) / 0x10000;
-    a *= 3.14f / 180.f;
-    float s = (float)cos(a);
-    return int32_t(s * 0x10000);
-}
-
 extern "C" float sinf(float angle)
 {
     float s = (float)sin(angle);
@@ -580,12 +519,12 @@
     { "loadF", (void *)&SC_loadF, "float loadF(int, int)" },
     { "storeI32", (void *)&SC_storeI32, "void storeI32(int, int, int)" },
     { "storeF", (void *)&SC_storeF, "void storeF(int, int, float)" },
-    { "drawQuad", (void *)&SC_drawQuad, "drawQuad(float x1, float y1, float z1, float x2, float y2, float z2, float x3, float y3, float z3, float x4, float y4, float z4)" },
+    { "drawQuad", (void *)&SC_drawQuad, "void drawQuad(float x1, float y1, float z1, float x2, float y2, float z2, float x3, float y3, float z3, float x4, float y4, float z4)" },
     { "sinf", (void *)&sinf, "float sinf(float)" },
     { "cosf", (void *)&cosf, "float cosf(float)" },
-    { "contextBindProgramFragmentStore", (void *)&contextBindProgramFragmentStore, "" },
-    { "pfClearColor", (void *)&pfClearColor, "" },
-    { "pfBindTexture", (void *)&pfBindTexture, "" },
+    { "contextBindProgramFragmentStore", (void *)&contextBindProgramFragmentStore, "void contextBindProgramFragmentStore(int)" },
+    { "pfClearColor", (void *)&pfClearColor, "void pfClearColor(float, float, float, float)" },
+    { "pfBindTexture", (void *)&pfBindTexture, "void pfBindTexture(int, int, int)" },
 
 
     { NULL, NULL, NULL }
@@ -618,12 +557,24 @@
     return NULL;
 }
 
+void ScriptCState::appendDecls(String8 *str)
+{
+    ScriptCState::SymbolTable_t *syms = gSyms;
+    while (syms->mPtr) {
+        str->append(syms->mDecl);
+        str->append(";\n");
+        syms++;
+    }
+}
+
 void ScriptCState::runCompiler(Context *rsc)
 {
     mAccScript = accCreateScript();
     String8 tmp;
 
     rsc->appendNameDefines(&tmp);
+    appendDecls(&tmp);
+    //tmp.append("#line 1\n");
 
     const char* scriptSource[] = {tmp.string(), mProgram.mScriptText};
     int scriptLength[] = {tmp.length(), mProgram.mScriptTextLength} ;
@@ -633,6 +584,14 @@
     accGetScriptLabel(mAccScript, "main", (ACCvoid**) &mProgram.mScript);
     rsAssert(mProgram.mScript);
 
+    if (!mProgram.mScript) {
+        ACCchar buf[4096];
+        ACCsizei len;
+        accGetScriptInfoLog(mAccScript, sizeof(buf), &len, buf);
+        LOGE(buf);
+
+    }
+
     mEnviroment.mFragment.set(rsc->getDefaultProgramFragment());
     mEnviroment.mVertex.set(rsc->getDefaultProgramVertex());
     mEnviroment.mFragmentStore.set(rsc->getDefaultProgramFragmentStore());