diff options
author | Yang Ni <yangni@google.com> | 2015-12-11 11:01:46 -0800 |
---|---|---|
committer | Yang Ni <yangni@google.com> | 2016-02-26 13:22:26 -0800 |
commit | a7725cbfcdfe2eaf868571c77f004a4d7208e8ef (patch) | |
tree | a882e62ea51f69a7394078639955f4657b7eccb8 /rsElement.cpp | |
parent | ef5a67ff7097ff4af054d07060c42e1e5ce9bad0 (diff) | |
download | rs-a7725cbfcdfe2eaf868571c77f004a4d7208e8ef.tar.gz |
Added a flag to APIs for rsObj creation
Bug: 25570907
This flag will distinguish calls from Java/JNI vs. Single-Source RS.
For the latter, the user ref count should remain zero to avoid memory
leaks.
Change-Id: Id3604f93b166089e3aca896d1c6c509b3ea19bcf
Diffstat (limited to 'rsElement.cpp')
-rw-r--r-- | rsElement.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/rsElement.cpp b/rsElement.cpp index a734400f..fedb3345 100644 --- a/rsElement.cpp +++ b/rsElement.cpp @@ -139,7 +139,8 @@ Element *Element::createFromStream(Context *rsc, IStream *stream) { component.getType(), component.getKind(), component.getIsNormalized(), - component.getVectorSize()); + component.getVectorSize(), + true /* Java only */); } const Element **subElems = new const Element *[fieldCount]; @@ -155,7 +156,8 @@ Element *Element::createFromStream(Context *rsc, IStream *stream) { } const Element *elem = Element::create(rsc, fieldCount, subElems, subElemNames, - subElemNamesLengths, arraySizes); + subElemNamesLengths, arraySizes, + true /* Java only */); for (uint32_t ct = 0; ct < fieldCount; ct ++) { delete [] subElemNames[ct]; subElems[ct]->decUserRef(); @@ -414,8 +416,10 @@ RsElement rsi_ElementCreate(Context *rsc, RsDataType dt, RsDataKind dk, bool norm, - uint32_t vecSize) { - return (RsElement)Element::create(rsc, dt, dk, norm, vecSize); + uint32_t vecSize, + bool fromJava) { + const Element* ret = Element::create(rsc, dt, dk, norm, vecSize, fromJava); + return (RsElement) ret; } @@ -428,9 +432,10 @@ RsElement rsi_ElementCreate2(Context *rsc, const size_t * nameLengths, const uint32_t * arraySizes, - size_t arraySizes_length) { + size_t arraySizes_length, + bool fromJava) { return (RsElement)Element::create(rsc, ein_length, (const Element **)ein, - names, nameLengths, arraySizes); + names, nameLengths, arraySizes, fromJava); } } |