Create holder inner class for pushing context state.
Fix bug with rsForEach corrupting parent context state.
Remove workaround from rsBalls.
Change-Id: I43a948536e70d44645d1c2ef7b97e1c5906f6943
diff --git a/rsScriptC_LibGL.cpp b/rsScriptC_LibGL.cpp
index ef1475c..0f84e4b 100644
--- a/rsScriptC_LibGL.cpp
+++ b/rsScriptC_LibGL.cpp
@@ -92,17 +92,17 @@
static void SC_vpLoadProjectionMatrix(const rsc_Matrix *m) {
GET_TLS();
- rsc->getVertex()->setProjectionMatrix(rsc, m);
+ rsc->getProgramVertex()->setProjectionMatrix(rsc, m);
}
static void SC_vpLoadModelMatrix(const rsc_Matrix *m) {
GET_TLS();
- rsc->getVertex()->setModelviewMatrix(rsc, m);
+ rsc->getProgramVertex()->setModelviewMatrix(rsc, m);
}
static void SC_vpLoadTextureMatrix(const rsc_Matrix *m) {
GET_TLS();
- rsc->getVertex()->setTextureMatrix(rsc, m);
+ rsc->getProgramVertex()->setTextureMatrix(rsc, m);
}
static void SC_pfConstantColor(RsProgramFragment vpf, float r, float g, float b, float a) {
@@ -114,7 +114,7 @@
static void SC_vpGetProjectionMatrix(rsc_Matrix *m) {
GET_TLS();
- rsc->getVertex()->getProjectionMatrix(rsc, m);
+ rsc->getProgramVertex()->getProjectionMatrix(rsc, m);
}
//////////////////////////////////////////////////////////////////////////////
@@ -165,8 +165,8 @@
static void SC_drawSpriteScreenspace(float x, float y, float z, float w, float h) {
GET_TLS();
- ObjectBaseRef<const ProgramVertex> tmp(rsc->getVertex());
- rsc->setVertex(rsc->getDefaultProgramVertex());
+ ObjectBaseRef<const ProgramVertex> tmp(rsc->getProgramVertex());
+ rsc->setProgramVertex(rsc->getDefaultProgramVertex());
//rsc->setupCheck();
//GLint crop[4] = {0, h, w, -h};
@@ -177,7 +177,7 @@
x+w, sh - y, z,
x+w, sh - (y+h), z,
x, sh - (y+h), z);
- rsc->setVertex((ProgramVertex *)tmp.get());
+ rsc->setProgramVertex((ProgramVertex *)tmp.get());
}
/*
static void SC_drawSprite(float x, float y, float z, float w, float h)
@@ -271,7 +271,7 @@
static void SC_color(float r, float g, float b, float a) {
GET_TLS();
- ProgramFragment *pf = (ProgramFragment *)rsc->getFragment();
+ ProgramFragment *pf = (ProgramFragment *)rsc->getProgramFragment();
pf->setConstantColor(rsc, r, g, b, a);
}