summaryrefslogtreecommitdiff
path: root/libs/rs/rsElement.cpp
diff options
context:
space:
mode:
author Jason Sams <rjsams@android.com> 2009-08-09 17:01:55 -0700
committer Jason Sams <rjsams@android.com> 2009-08-09 17:05:13 -0700
commit1bada8cd6e4f340de93cff4a2439835fc3b1456c (patch)
treebdc1ed59f9b9ef531bca7220550a025a89ca4173 /libs/rs/rsElement.cpp
parent467f3df13dc9324b35c139bd6d291265015ba4d3 (diff)
Begin implementing SimpleMesh and fix some bugs with refcounting and java object destruction tracking.
Diffstat (limited to 'libs/rs/rsElement.cpp')
-rw-r--r--libs/rs/rsElement.cpp19
1 files changed, 7 insertions, 12 deletions
diff --git a/libs/rs/rsElement.cpp b/libs/rs/rsElement.cpp
index 069a1282d22e..0c5cb18d1b8e 100644
--- a/libs/rs/rsElement.cpp
+++ b/libs/rs/rsElement.cpp
@@ -348,7 +348,7 @@ ElementState::~ElementState()
}
/////////////////////////////////////////
-//
+//
namespace android {
namespace renderscript {
@@ -378,7 +378,7 @@ RsElement rsi_ElementGetPredefined(Context *rsc, RsElementPredefined predef)
sec->initPredefined();
}
- if ((predef < 0) ||
+ if ((predef < 0) ||
(static_cast<uint32_t>(predef) >= sec->mPredefinedList.size())) {
LOGE("rsElementGetPredefined: Request for bad predefined type");
// error
@@ -395,14 +395,17 @@ void rsi_ElementAdd(Context *rsc, RsDataKind dk, RsDataType dt, bool isNormalize
{
ElementState * sec = &rsc->mStateElement;
+ Component *c = new Component(static_cast<Component::DataKind>(dk),
+ static_cast<Component::DataType>(dt),
+ isNormalized,
+ bits);
+ sec->mComponentBuildList.add(c);
}
RsElement rsi_ElementCreate(Context *rsc)
{
ElementState * sec = &rsc->mStateElement;
-
Element *se = new Element(sec->mComponentBuildList.size());
- sec->mAllElements.add(se);
for (size_t ct = 0; ct < se->getComponentCount(); ct++) {
se->setComponent(ct, sec->mComponentBuildList[ct]);
@@ -415,15 +418,7 @@ RsElement rsi_ElementCreate(Context *rsc)
void rsi_ElementDestroy(Context *rsc, RsElement vse)
{
- ElementState * sec = &rsc->mStateElement;
Element * se = static_cast<Element *>(vse);
-
- for (size_t ct = 0; ct < sec->mAllElements.size(); ct++) {
- if (sec->mAllElements[ct] == se) {
- sec->mAllElements.removeAt(ct);
- break;
- }
- }
se->decRef();
}