diff options
author | Jason Sams <rjsams@android.com> | 2009-12-16 14:13:06 -0800 |
---|---|---|
committer | Jason Sams <rjsams@android.com> | 2009-12-16 14:13:06 -0800 |
commit | ce9adcce02ef528cf5a65c3650099aa54ebb712a (patch) | |
tree | 0f7a423d186d588d0324ed6c9c5b7524e06bac44 /libs/rs | |
parent | 5dad8b4d1fda37b7b4763ef7361c5eb92131cb7e (diff) | |
download | frameworks_base-ce9adcce02ef528cf5a65c3650099aa54ebb712a.zip frameworks_base-ce9adcce02ef528cf5a65c3650099aa54ebb712a.tar.gz frameworks_base-ce9adcce02ef528cf5a65c3650099aa54ebb712a.tar.bz2 |
Fix emulated glColor in es2 mode.
Diffstat (limited to 'libs/rs')
-rw-r--r-- | libs/rs/rsProgramVertex.cpp | 7 | ||||
-rw-r--r-- | libs/rs/rsProgramVertex.h | 1 | ||||
-rw-r--r-- | libs/rs/rsScriptC_Lib.cpp | 4 |
3 files changed, 12 insertions, 0 deletions
diff --git a/libs/rs/rsProgramVertex.cpp b/libs/rs/rsProgramVertex.cpp index 058cd73..153e2d6 100644 --- a/libs/rs/rsProgramVertex.cpp +++ b/libs/rs/rsProgramVertex.cpp @@ -158,6 +158,8 @@ void ProgramVertex::setupGL2(const Context *rsc, ProgramVertexState *state, Shad //return; } + glVertexAttrib4f(1, state->color[0], state->color[1], state->color[2], state->color[3]); + const float *f = static_cast<const float *>(mConstants->getPtr()); Matrix mvp; @@ -259,6 +261,11 @@ void ProgramVertexState::init(Context *rsc, int32_t w, int32_t h) pv->init(rsc); pv->bindAllocation(alloc); + color[0] = 1.f; + color[1] = 1.f; + color[2] = 1.f; + color[3] = 1.f; + updateSize(rsc, w, h); } diff --git a/libs/rs/rsProgramVertex.h b/libs/rs/rsProgramVertex.h index 4748acc..8c63d82 100644 --- a/libs/rs/rsProgramVertex.h +++ b/libs/rs/rsProgramVertex.h @@ -79,6 +79,7 @@ public: ObjectBaseRef<Type> mAllocType; + float color[4]; }; diff --git a/libs/rs/rsScriptC_Lib.cpp b/libs/rs/rsScriptC_Lib.cpp index 55a8391..878ec60 100644 --- a/libs/rs/rsScriptC_Lib.cpp +++ b/libs/rs/rsScriptC_Lib.cpp @@ -842,6 +842,10 @@ static void SC_drawSimpleMeshRange(RsSimpleMesh vsm, uint32_t start, uint32_t le static void SC_color(float r, float g, float b, float a) { GET_TLS(); + rsc->mStateVertex.color[0] = r; + rsc->mStateVertex.color[1] = g; + rsc->mStateVertex.color[2] = b; + rsc->mStateVertex.color[3] = a; if (rsc->checkVersion2_0()) { glVertexAttrib4f(1, r, g, b, a); } else { |