summaryrefslogtreecommitdiffstats
path: root/libs/rs/rsScriptC_LibGL.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/rs/rsScriptC_LibGL.cpp')
-rw-r--r--libs/rs/rsScriptC_LibGL.cpp96
1 files changed, 53 insertions, 43 deletions
diff --git a/libs/rs/rsScriptC_LibGL.cpp b/libs/rs/rsScriptC_LibGL.cpp
index c9d5034..a60aa80 100644
--- a/libs/rs/rsScriptC_LibGL.cpp
+++ b/libs/rs/rsScriptC_LibGL.cpp
@@ -402,11 +402,16 @@ static void SC_hsb(float h, float s, float b, float a)
}
}
-static void SC_uploadToTexture(RsAllocation va, uint32_t baseMipLevel)
+static void SC_uploadToTexture2(RsAllocation va, uint32_t baseMipLevel)
{
GET_TLS();
rsi_AllocationUploadToTexture(rsc, va, false, baseMipLevel);
}
+static void SC_uploadToTexture(RsAllocation va)
+{
+ GET_TLS();
+ rsi_AllocationUploadToTexture(rsc, va, false, 0);
+}
static void SC_uploadToBufferObject(RsAllocation va)
{
@@ -414,21 +419,26 @@ static void SC_uploadToBufferObject(RsAllocation va)
rsi_AllocationUploadToBufferObject(rsc, va);
}
-static void SC_syncToGL(RsAllocation va)
+static void SC_ClearColor(float r, float g, float b, float a)
{
GET_TLS();
- Allocation *a = static_cast<Allocation *>(va);
+ if (!rsc->setupCheck()) {
+ return;
+ }
+ glClearColor(r, g, b, a);
+ glClear(GL_COLOR_BUFFER_BIT);
}
-static void SC_ClearColor(float r, float g, float b, float a)
+static void SC_ClearDepth(float v)
{
- //LOGE("c %f %f %f %f", r, g, b, a);
GET_TLS();
- sc->mEnviroment.mClearColor[0] = r;
- sc->mEnviroment.mClearColor[1] = g;
- sc->mEnviroment.mClearColor[2] = b;
- sc->mEnviroment.mClearColor[3] = a;
+ if (!rsc->setupCheck()) {
+ return;
+ }
+
+ glClearDepthf(v);
+ glClear(GL_DEPTH_BUFFER_BIT);
}
static uint32_t SC_getWidth()
@@ -466,50 +476,50 @@ static uint32_t SC_getHeight()
// ::= d # double
static ScriptCState::SymbolTable_t gSyms[] = {
+ { "rsgBindProgramFragment", (void *)&SC_bindProgramFragment },
+ { "rsgBindProgramStore", (void *)&SC_bindProgramStore },
+ { "rsgBindProgramVertex", (void *)&SC_bindProgramVertex },
+ { "rsgBindProgramRaster", (void *)&SC_bindProgramRaster },
+ { "rsgBindSampler", (void *)&SC_bindSampler },
+ { "rsgBindTexture", (void *)&SC_bindTexture },
+
+ { "rsgProgramVertexLoadModelMatrix", (void *)&SC_vpLoadModelMatrix },
+ { "rsgProgramVertexLoadTextureMatrix", (void *)&SC_vpLoadTextureMatrix },
+
+ { "rsgGetWidth", (void *)&SC_getWidth },
+ { "rsgGetHeight", (void *)&SC_getHeight },
+
+ { "_Z18rsgUploadToTextureii", (void *)&SC_uploadToTexture2 },
+ { "_Z18rsgUploadToTexturei", (void *)&SC_uploadToTexture },
+ { "rsgUploadToBufferObject", (void *)&SC_uploadToBufferObject },
+
+ { "rsgDrawRect", (void *)&SC_drawRect },
+ { "rsgDrawQuad", (void *)&SC_drawQuad },
+ { "rsgDrawQuadTexCoords", (void *)&SC_drawQuadTexCoords },
+ //{ "drawSprite", (void *)&SC_drawSprite },
+ { "rsgDrawSpriteScreenspace", (void *)&SC_drawSpriteScreenspace },
+ { "rsgDrawSpriteScreenspaceCropped", (void *)&SC_drawSpriteScreenspaceCropped },
+ { "rsgDrawLine", (void *)&SC_drawLine },
+ { "rsgDrawPoint", (void *)&SC_drawPoint },
+ { "_Z17rsgDrawSimpleMeshi", (void *)&SC_drawSimpleMesh },
+ { "_Z17rsgDrawSimpleMeshiii", (void *)&SC_drawSimpleMeshRange },
+
+ { "rsgClearColor", (void *)&SC_ClearColor },
+ { "rsgClearDepth", (void *)&SC_ClearDepth },
+
+
+ //////////////////////////////////////
// IO
{ "updateSimpleMesh", (void *)&SC_updateSimpleMesh },
- // context
- { "bindProgramFragment", (void *)&SC_bindProgramFragment },
- { "bindProgramStore", (void *)&SC_bindProgramStore },
- { "bindProgramVertex", (void *)&SC_bindProgramVertex },
- { "bindProgramRaster", (void *)&SC_bindProgramRaster },
- { "bindSampler", (void *)&SC_bindSampler },
- { "bindTexture", (void *)&SC_bindTexture },
-
- // vp
- { "vpLoadModelMatrix", (void *)&SC_vpLoadModelMatrix },
- { "vpLoadTextureMatrix", (void *)&SC_vpLoadTextureMatrix },
-
- // drawing
- { "drawRect", (void *)&SC_drawRect },
- { "drawQuad", (void *)&SC_drawQuad },
- { "drawQuadTexCoords", (void *)&SC_drawQuadTexCoords },
- { "drawSprite", (void *)&SC_drawSprite },
- { "drawSpriteScreenspace", (void *)&SC_drawSpriteScreenspace },
- { "drawSpriteScreenspaceCropped", (void *)&SC_drawSpriteScreenspaceCropped },
- { "drawLine", (void *)&SC_drawLine },
- { "drawPoint", (void *)&SC_drawPoint },
- { "drawSimpleMesh", (void *)&SC_drawSimpleMesh },
- { "drawSimpleMeshRange", (void *)&SC_drawSimpleMeshRange },
-
-
// misc
- { "pfClearColor", (void *)&SC_ClearColor },
+ //{ "pfClearColor", (void *)&SC_ClearColor },
{ "color", (void *)&SC_color },
{ "hsb", (void *)&SC_hsb },
{ "hsbToRgb", (void *)&SC_hsbToRgb },
{ "hsbToAbgr", (void *)&SC_hsbToAbgr },
{ "pointAttenuation", (void *)&SC_pointAttenuation },
- { "uploadToTexture", (void *)&SC_uploadToTexture },
- { "uploadToBufferObject", (void *)&SC_uploadToBufferObject },
-
- { "syncToGL", (void *)&SC_syncToGL },
-
- { "getWidth", (void *)&SC_getWidth },
- { "getHeight", (void *)&SC_getHeight },
-
{ NULL, NULL }
};