summaryrefslogtreecommitdiffstats
path: root/libs/rs/rsProgramVertex.cpp
diff options
context:
space:
mode:
authorJason Sams <rjsams@android.com>2009-06-17 16:52:59 -0700
committerJason Sams <rjsams@android.com>2009-06-17 16:52:59 -0700
commit9c54bdbf458e3c9433d237ae71cf47c4ec47d852 (patch)
tree5c740a213b3ac7518184f53692191d0f3cd8cc48 /libs/rs/rsProgramVertex.cpp
parentb37c0a5db65cd8b72cac6a3250faddd1aecb722e (diff)
downloadframeworks_base-9c54bdbf458e3c9433d237ae71cf47c4ec47d852.zip
frameworks_base-9c54bdbf458e3c9433d237ae71cf47c4ec47d852.tar.gz
frameworks_base-9c54bdbf458e3c9433d237ae71cf47c4ec47d852.tar.bz2
Implement default programs and implement defaults and parents for imports.
Diffstat (limited to 'libs/rs/rsProgramVertex.cpp')
-rw-r--r--libs/rs/rsProgramVertex.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/libs/rs/rsProgramVertex.cpp b/libs/rs/rsProgramVertex.cpp
index c24f228..19afad5 100644
--- a/libs/rs/rsProgramVertex.cpp
+++ b/libs/rs/rsProgramVertex.cpp
@@ -81,6 +81,23 @@ ProgramVertexState::~ProgramVertexState()
delete mPV;
}
+void ProgramVertexState::init(Context *rsc, int32_t w, int32_t h)
+{
+ ProgramVertex *pv = new ProgramVertex(NULL, NULL);
+ Allocation *alloc = (Allocation *)
+ rsi_AllocationCreatePredefSized(rsc, RS_ELEMENT_USER_FLOAT, 48);
+ mDefaultAlloc.set(alloc);
+ mDefault.set(pv);
+
+ pv->bindAllocation(0, alloc);
+
+ Matrix m;
+ m.loadOrtho(0,w, h,0, -1,1);
+ alloc->subData(RS_PROGRAM_VERTEX_PROJECTION_OFFSET, 16, &m.m[0]);
+
+ m.loadIdentity();
+ alloc->subData(RS_PROGRAM_VERTEX_MODELVIEW_OFFSET, 16, &m.m[0]);
+}
namespace android {