History log of /frameworks/compile/slang/slang_rs_reflection.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b6a143562bda2117824a0515c208504e9a2830f1 26-Jul-2016 Pirama Arumuga Nainar <pirama@google.com> Fix slang to compile with LLVM r275480

Bug: http://b/31320715

In addition to fixing compilation with the new LLVM sources, this change
also switches to using LLVM's RenderScript triples. Clang also uses
this triple to set the size and alignment of 'long' data type to
64-bits. We no longer need/have the '+long64' CPU feature.

Test: Run RenderScript tests (host tests for slang and libbcc, RsTest, CTS)

Change-Id: I3d2795bc0253a10d6fb36bfb0c28eb0c2e9a2922
/frameworks/compile/slang/slang_rs_reflection.cpp
f3edb0046f0c1389f1318f8e7d4ea3ab9453d599 14-Sep-2016 David Gross <dgross@google.com> Fix Java reflec: Assert or uncompileable code for struct-typed field.

If an exported struct has two fields of the same struct type, we were
getting an assertion:

(mFieldIndexMap.find(F) == mFieldIndexMap.end()) && "Nested structure never occurs in C language."

If an exported struct has two fields of different struct types, we
were getting reflected Java code that can't be compiled ("Duplicate
local variable eb_").

The underlying issue is that when generating Java code to create an
Element to represent a struct (generating Java method
ScriptField_<struct-tag>.createElement()), we were generating Java
code recursively when a field is of type struct (diving down into that
struct to generate code to represent its fields), rather than
generating code that calls
ScriptField_<field-struct-tag>.createElement()). This is now fixed.

How do we know that Java class ScriptField_<field-struct-tag> exists?
Because when we discover that struct <struct-tag> is an exported type,
we call RSExportType::Create(), which calls
RSExportRecordType::Create(), which calls the RSExportRecordType
constructor, which calls RSExportElement::CreateFromDecl() for each
field of struct <struct-tag>, which calls RSExportType::Create() for
that field's type (thereby recursing); and the RSExportRecordType
constructor is responsible for putting a structure on the list of
exported types. Therefore, struct <field-struct-tag> will be on the
list of exported types, and so we will generate the Java class
ScriptField_<field-struct-tag>.

What was the reason for the assertion? We were trying to insert a
second instance of a field into mFieldIndexMap. This map is cleared
at the end of processing a struct (genTypeClass()), and each field we
encounter during the type export process is added to it.
genTypeClass() is only called at the top level of the export process
(i.e., when iterating over the list of exported types). So when we
instantiate the same struct (for a field type) within a containing
struct a second time (because of two fields with the same struct
type), we try to add its fields a second time to the map (intermixed
with the fields of the containing struct, incidentally), and assert.
Now that we no longer actually instantiate a field type struct even
once while processing the exported containing struct type, we no
longer assert.

Test: aosp_flounder-eng: slang/tests, RsTest 32bit/64bit, cts -m RenderscriptTest

Bug: 19545299

Change-Id: I0f35ae3e34830c5caa3f06b81595ce411e25bcf3
/frameworks/compile/slang/slang_rs_reflection.cpp
e2ead846c1d78a6e7108e521ffd15850bd9eed3c 13-Aug-2016 Chih-Hung Hsieh <chh@google.com> Fix clang-tidy warnings in slang.

These are proposed changes, looking for upstream changes.
* Add explicit keyword to conversion constructors.
Bug: 28341362
* Use const reference type for read-only parameters.
Bug: 30407689
* Use const reference type to avoid unnecessary copy.
Bug: 30413862
Test: build with WITH_TIDY=1

Change-Id: I2aeba0ff19fe0581d9c177d9b340e4402fdad3f9
/frameworks/compile/slang/slang_rs_reflection.cpp
1c6bf88e098c767c3cd445f2c2514f0598d91501 02-Jun-2016 David Gross <dgross@google.com> Delete simple reduction implementation.

Bug: 27298560
Change-Id: I775dd782d658c7c720f57aa31a584deee98cdd17
(cherry picked from commit 8ee018bdb53fc5abdc430878e2bec0c0c0aa560f)
/frameworks/compile/slang/slang_rs_reflection.cpp
2b377908d8bd15fabc370547f2cc55ffc58bafd4 07-Apr-2016 David Gross <dgross@google.com> Reflected result_* class should destroy() temporary Allocations at the end of get().

Also ensure that only the first call to get() does the work to
extract the actual result from the output Allocation.

Bug: 27973904
Change-Id: I0ef0d9e646db29973158504069261751a09585d2
(cherry picked from commit d204e65f7b46a3592a254d581e4b9f2af92b6eac)
/frameworks/compile/slang/slang_rs_reflection.cpp
2a7ec01e812624ff7685d7de5528e8fc1a4acc9e 05-Apr-2016 Pirama Arumuga Nainar <pirama@google.com> During reflection use FieldPacker.addI16 for half

http://b/27526302

Update PrimitiveTypePackerAPINameMap to use addI16 as the field packer
method to use for half type for setting globals or to construct an
invokable's parameters.

Change-Id: I5c96b0f8b709334087671bd75921523514ad94f1
(cherry picked from commit 29456ca8e5994f43e65ad0a51982c5c2d0677657)
/frameworks/compile/slang/slang_rs_reflection.cpp
991096ff0ab7d2dc124994c0a40290212de349bd 10-Mar-2016 David Gross <dgross@google.com> Flesh out reduction support for half data types.

Also extended test cases for more thorough data type coverage
(including non-half data types).

Details:
- Bug fixes.
- Result type can be vector of half or array of vector of half.
- Full reflection support for [array of] [vector of] half input or result.

Bug: 27299169
Change-Id: Id674ae2ea2cce6215f152fd62bb5b124c44cfcd3
(cherry picked from commit 2d7f3f95947889e1ea48b0e925c5929af4fbf6b4)
/frameworks/compile/slang/slang_rs_reflection.cpp
1381ae7c081ab151e78184501f757f517fe6c2a9 02-Feb-2016 David Gross <dgross@google.com> Remove array subrange (x1, x2) general reduction methods.

The current implementation is functionally incorrect.

A general reduction method that takes array inputs is implemented by
creating a temporary Allocation for each input and initializing the
Allocation from the input array.

There is no efficient way to implement the array subrange methods
today, because there is no efficient way to initialize an Allocation
from a subrange of an array (see http://b/26804454). We would have to
do something like:
- Extend the RenderScript Java API; or
- For each input array, create a temporary array, populate the temporary
array from the appropriate subrange of the the original array, and
initialize a temporary Allocation from the temporary array instead of the
input array; or
- For each input array, initialize an Allocation from the entire array,
but use LaunchOptions to specify that only a subrange of the Allocation
should be processed by the kernel.

Bug: 23535724
Change-Id: Ie9d3ebe445724512bb196aa661a295f217145918
/frameworks/compile/slang/slang_rs_reflection.cpp
277fd5e6545c8ba1272027ee6e6bc55a96316dc0 14-Jan-2016 David Gross <dgross@google.com> Add Java reflection for "#pragma rs reduce".

Also:
- test.py now recognizes "Script*.java.expect" files as masters for comparing
reflected code the same way "stderr.txt.expect" and "stdout.txt.expect" are
masters for comparing compiler stderr and stdout.
- gReflectionTypes[] now has a '"common name" in script (C99)' column (e.g., "short" is
the common name by which a type appears in script code, in contrast with "int16_t"
which is the name by which a type is reflected in NDK code).

Bug: 23535724
Change-Id: I7960968bb98a17e33fe23415f7927cac537b72a3
/frameworks/compile/slang/slang_rs_reflection.cpp
657d20afa621219c1eed72178d1325fd4409f458 17-Dec-2015 David Gross <dgross@google.com> Cleanup: RSExportType::getSize() has inconsistent semantics.

This is a virtual method with different semantics for different
classes in the type hierarchy:
RSExportPrimitiveType: Returns number of bytes occupied by type
RSExportPointerType: Returns 1
RSExportVectorType: Returns number of bytes occupied by one element
(i.e., of the component type)
RSExportMatrixType: Returns 1
RSExportConstantArrayType: Returns the number of array elements
RSExportRecordType: Returns 1

The fix is to replace this method with methods whose names
indicate their actual semantics.

Bug: 26235282
Change-Id: Ic7c5cfd1b73a0b6e7e6fd4ed0495de3877adf0e8
/frameworks/compile/slang/slang_rs_reflection.cpp
7682b663581dd8f67b422f6f2f31692ab2f870e3 31-Jul-2015 Matt Wala <wala@google.com> Add Java reflection for reduce-style kernels in slang.

Bug: 22631253

Change-Id: I43de647a45c02d51cb256d206b64e159daf13864
/frameworks/compile/slang/slang_rs_reflection.cpp
bd0a7ddceac6c135ea975cefbac73877a1f9dae7 02-Jul-2015 Stephen Hines <srhines@google.com> Update llvm-rs-cc version to 23 for M.

Bug: 22179874

This change updates the compiler version, as well as marks the new APIs
usable by Android M.

Change-Id: I2a943274a701e6301b6c41ac3bb4302e0a66b9d0
/frameworks/compile/slang/slang_rs_reflection.cpp
e4dd17d7b2a292a600756da7680beecd78f74033 07-Apr-2015 Pirama Arumuga Nainar <pirama@google.com> Add Half support in slang

Bug: 7342860

- Enable NativeHalfType and HalfArgsAndReturns for Langopts for API >=
23
- Add half and its vector variants to the list of reflected types
- Use addF16 as the FieldPacker method for setting Float16 values.
- Add tests that HalfArgumentsAndReturns is not enabled on API < 23.
This should serve as an indirect test that NativeHalfType is also
disabled.

Change-Id: I164ff6f8a3ed206326b904afa5430230b97d41c8
/frameworks/compile/slang/slang_rs_reflection.cpp
2ecb108e2b3d6a3829c9ca2b77458fb7475185b4 30-Apr-2015 Yang Ni <yangni@google.com> Enable getInvokeID in reflected code

Change-Id: Ide905bd4ab904c8c8f1b3bec11c2add88b47c74f
/frameworks/compile/slang/slang_rs_reflection.cpp
fb78d4c6604bd243578ce8071e31f68c023d82cf 31-Mar-2015 David Gross <dgross@google.com> Support new-style kernels with no output and no input.

Such kernels get the definition of their iteration space solely through LaunchOptions.

No runtime testing of no-allocation kernels yet.

Bug 19950069

Change-Id: I452f948967d52e0ce8998628d554ab188cae9116
/frameworks/compile/slang/slang_rs_reflection.cpp
cec2a1d2e38ebd644c9f63e83bf5649f15df99d5 02-Dec-2014 Yang Ni <yangni@google.com> Add getInvokeID_xxx() to the reflection code.

Change-Id: Iebfbec832cdc5d518ba5effbdade7827943ff11d
/frameworks/compile/slang/slang_rs_reflection.cpp
3eb819ad8beec566a73b288204f9b75c2bb1d4e6 25-Nov-2014 Stephen Hines <srhines@google.com> Update slang for LLVM rebase to r222494.

Change-Id: I19e441e193637ddb39b3afb3bc95579755ac0a90
/frameworks/compile/slang/slang_rs_reflection.cpp
5abbe0e9ca2508260b627ffef2bf01e2554e8357 13-Aug-2014 Chris Wailes <chriswailes@google.com> Replace the NULL macro with nullptr literal.

Change-Id: I33609969cd0d7aa55eaa83fb2c65f5faa6d55fa0
/frameworks/compile/slang/slang_rs_reflection.cpp
9ae18b2bbee0b08afd400542e863dd665ff76059 11-Jun-2014 Stephen Hines <srhines@google.com> Add an option to emit 32-bit and 64-bit bitcode.

Bug: 16031597

Change-Id: Ifb3c4eca5e7ae16106260c2b5f5da6854c021a3a
/frameworks/compile/slang/slang_rs_reflection.cpp
afa84a9112db3b135f88d736b4c8249a049eb40a 08-Jul-2014 Stephen Hines <srhines@google.com> Merge "Adds support for multi-input kernels to Slang."
c9454afec1649846512993d0ef65a9f868976bb4 14-Jun-2014 Chris Wailes <chriswailes@google.com> Adds support for multi-input kernels to Slang.

This patch modifies slang in the folowing ways:
* Updates some of the development target API logic.
* Adds logic for validating kernels with multiple inputs.
* Added support for multi-input kernels to the Java reflection code.
* Adds tests for these new features.
* Updated existing tests with the new error messages.

Change-Id: I46d2834c37075b2a2407fd8b010546818a4540d1
/frameworks/compile/slang/slang_rs_reflection.cpp
3a38b7489d016b07e5b95a1e04ccfe9064b3438f 02-Jul-2014 Tim Murray <timmurray@google.com> Reflect Java size information using mElement.getBytesSize().

Item.sizeof is unreliable because of 32/64 differences. getBytesSize()
will be significantly more reliable.

Change-Id: I7b486f1eb931befcc3ac8bacae3834cbfb47358d
/frameworks/compile/slang/slang_rs_reflection.cpp
fc4f78b9c7941132fb048a83f0e4ba528c3b4fd0 11-Jun-2014 Stephen Hines <srhines@google.com> Add -v (-verbose/--verbose) option to llvm-rs-cc.

This change also suppresses the display of "Generating Script*." output by
default.

Change-Id: I034a3ba20acf64e1eb9ecc02133edb03b643d559
/frameworks/compile/slang/slang_rs_reflection.cpp
c643ceb752ed999def0fd028990eafa802cd13fb 05-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> Remove the ugly EB_ADD macro and related hacks.

Change-Id: I3e146af920f7e9e9ca6bcb2165107d4660bc3e0a
/frameworks/compile/slang/slang_rs_reflection.cpp
59f22c376b2c1cd109735280689224fadfe40b42 04-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> Set the reflection parameters in the constructors.

Change-Id: I3c74ab5a10d7aa3adaf460c56d2ab295a766fcfb
/frameworks/compile/slang/slang_rs_reflection.cpp
f33e1561dc390cf2be7a81e9f818b269d458ec7e 04-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> Use GeneratedFile in Java reflection

Change-Id: Ib52a82b7649c9247e0b4de56267eba7f6cf2e25e
/frameworks/compile/slang/slang_rs_reflection.cpp
efcff1017f5f1e120a8ffb67125e412343479f94 04-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> Remove ReflectionBase.

Some of the methods of this base class only applies to the C++ reflection.
Other methods better belong in reflection_utils.

Change-Id: Ib539eb3b31cdc2230a5a7dd925642b5a697a899a
/frameworks/compile/slang/slang_rs_reflection.cpp
2e205d071c86981a8dd301a8612d17b251b3b973 03-Jun-2014 Jean-Luc Brouillet <jeanluc@google.com> Merge RSReflectionJava::Context into RSReflectionJava.

Also removed the unused ability to emit the code to stdout.

Change-Id: If18c7bcfe94bbca5866c371511c7d811f861cd5a
/frameworks/compile/slang/slang_rs_reflection.cpp
1ce012a517e37bdc63493c7fb2aaee19b6361f92 03-Jun-2014 Stephen Hines <srhines@google.com> Fix typo in function name.

Change-Id: Ib68b1fc6e80875ed819ce5e1fa3e5943a224afd7
/frameworks/compile/slang/slang_rs_reflection.cpp
2ce118e843fcbd53488b503933136bb4fdbdfbc1 28-May-2014 Jean-Luc Brouillet <jeanluc@google.com> Reformat the reflection code using clang-format

Change-Id: I3bec395fdcff8c848025e7e63fc4ac8517154454
/frameworks/compile/slang/slang_rs_reflection.cpp
602def74e8afa68b72a1f9391c31d6ff152add53 28-May-2014 Jean-Luc Brouillet <jeanluc@google.com> Rename RSReflection to RSReflectionJava.

Change made to make it more obvious the type of code created for this file. Reformatted the headers with clang-format, hence the slight changes in indentation style.

Change-Id: Ib2c748d84bd4eb8a188f95c0c60014ad4c60711f
/frameworks/compile/slang/slang_rs_reflection.cpp
2968921e1cedf85360964c5a39e1ce36c66ecd09 27-May-2014 Jean-Luc Brouillet <jeanluc@google.com> Replace std::endl by \n.

\n is more readable AND endl causes a buffer flush.

Change-Id: I3f7472a16e3bebc06476d8e37129e4088546b4aa
/frameworks/compile/slang/slang_rs_reflection.cpp
a7c8e602320b1ae329966337454efd40f1e0d6cc 27-May-2014 Jean-Luc Brouillet <jeanluc@google.com> Merge "Remove useless "return;" statements."
796e7b1400d3f3f7c07496d88bb48129ea925bb9 27-May-2014 Jean-Luc Brouillet <jeanluc@google.com> Remove useless "return;" statements.

More cleanups to follow...

Change-Id: Ib8348255273771c1e9ff07e79bd7fbc8f2795a5b
/frameworks/compile/slang/slang_rs_reflection.cpp
4c8b659edc8dca50ffb9c172258412fc1e02b80d 23-May-2014 Stephen Hines <srhines@google.com> Generate calls to getBitCode32() for new constructor type.

Change-Id: Iec41e3f325ec045362608ee52b0f78c55eb87bed
/frameworks/compile/slang/slang_rs_reflection.cpp
44d495d2ad8c350a8f586502c9ee8e97a513646a 23-May-2014 Stephen Hines <srhines@google.com> Clean up embedded bitcode path for Java.

Change-Id: I79cc65778173c7eeab028dedfc4adcb59bef44c2
/frameworks/compile/slang/slang_rs_reflection.cpp
c95381a2c3b6e9117901eef0687e861e4d533bfe 15-May-2014 Jean-Luc Brouillet <jeanluc@google.com> Make virtual getTypeStoreSize and getTypeAllocSize

Change-Id: I898d7b21d7856559e75d80c6147fc4b4229c75dd
/frameworks/compile/slang/slang_rs_reflection.cpp
cec9b65aa890dea58e39951900ae13efb8d11703 15-May-2014 Jean-Luc Brouillet <jeanluc@google.com> Move DataType enum out of RSExportPrimitiveDataType.

It applies to more than just Primitives and should not have been in there.

Change-Id: If2b6a9d2a87a05176a74bcf7212f65cf1cdf67fe
/frameworks/compile/slang/slang_rs_reflection.cpp
ee4016d1247d3fbe50822de279d3da273d8aef4c 11-Apr-2014 Tim Murray <timmurray@google.com> Update Slang for Clang/LLVM 3.5a.

Change-Id: Icd59efa1197098076555c505c31939866e504a83
/frameworks/compile/slang/slang_rs_reflection.cpp
80706836b18127b5733d790613a5d1b9f97cbb1d 29-Aug-2013 Stephen Hines <srhines@google.com> Fix initializers and add vector reflection support.

Bug: 10427951

This also fixes a bug with floating point initialization (where relevant
digits could be truncated because of C++ iostream operators).

Change-Id: I2761dea38dd6ad758ea31217744e45436596afce
/frameworks/compile/slang/slang_rs_reflection.cpp
9d234b6c83c9d6baab71433fdecab6bfde34a956 26-Mar-2013 Stephen Hines <srhines@google.com> Fix filename-escaping for Windows paths.

Change-Id: I0070d0f96093490c664545cd61a42137e374798f
/frameworks/compile/slang/slang_rs_reflection.cpp
50974740c0c5c52dd766264139a01702fbc138af 13-Feb-2013 Stephen Hines <srhines@google.com> Enable reflection of clipped kernels.

Change-Id: Ie7ee7267e562dc253192bfca38f7b5261d49e508
/frameworks/compile/slang/slang_rs_reflection.cpp
82754d87921c94e70562aa977cc92e28fc38b1d0 19-Jan-2013 Stephen Hines <srhines@google.com> Skip reflection of resize() when building for the compatibility library.

Change-Id: I2669914b3139756a8cf559ed99b845e77df87df0
/frameworks/compile/slang/slang_rs_reflection.cpp
f69e1e58cf65555c4be3f6c5c53f89eb044f1db5 17-Jan-2013 Tim Murray <timmurray@google.com> Fix struct reflection with compat lib.

Change-Id: Iccbf509890bb980fab53c3dcf2d652c24ec79cfb
/frameworks/compile/slang/slang_rs_reflection.cpp
7dd6da2077ad17ea59f4239f5275074bf5642859 16-Nov-2012 Stephen Hines <srhines@google.com> Fix C++ ForEach reflection (bad usrData args).

This fixes issues with the following areas:
1) usrData arguments to kernels.
2) set vs. bind for export variables.
3) improved argument handling for kernels/invoke.

Bug: 5972398
Change-Id: I09a7b9198c45ab6e2d10b2abae1727ee0e559736
/frameworks/compile/slang/slang_rs_reflection.cpp
28d60bc2da19821af82d983902c3c78c078343c3 16-Oct-2012 Stephen Hines <srhines@google.com> Only generate getFieldID_*() for non-Pointer (bind) types.

Bug: 7318821
Change-Id: Ic043f75a1a1a2a6f4a0b6d90ab3f1d053012d8c7
/frameworks/compile/slang/slang_rs_reflection.cpp
b81a993cc0fed2dabfb1abc8b23ab9bd1586f201 11-Oct-2012 Tim Murray <timmurray@google.com> Add support for getting arbitrary kernel and field IDs.

bug 7318821

Change-Id: I7f5999a8c6e6c2eb55d1bb502033eb9be02e55a8
/frameworks/compile/slang/slang_rs_reflection.cpp
bcae1fe692a8c5d9225a9699a932380b5659a735 26-Sep-2012 Stephen Hines <srhines@google.com> Switch to FieldPacker for signed sub-integer types.

The issue here is that all of our small Java primitive types (byte, short,
char) get promoted/passed as int. This in turn causes our setVar() to do
a 4-byte memcpy() instead of the proper (smaller) amount.

Bug: 6865598
Change-Id: I404c3bb6024686d1274229a73feec1e6c7e3fc7b
/frameworks/compile/slang/slang_rs_reflection.cpp
9ca96e70657cf5437a294213f56ba4768dc08ad2 14-Sep-2012 Stephen Hines <srhines@google.com> Support for pass-by-value kernels.

This change allows the JB-mr1+ target API to declare compute kernels
using "__attribute__((kernel))". This disables the use of pointers in the
function signature and forces any output to be explicitly returned and
input to be passed only by value. We still allow the user to add x, y
coordinates if they want them.

Bug: 7166741

Change-Id: I1407fceefb11c7d6c17221ca156cfce443c2b218
/frameworks/compile/slang/slang_rs_reflection.cpp
d2936939ec10879e25746322db60071f79f28c1b 13-Sep-2012 Stephen Hines <srhines@google.com> Simpler ScriptC constructors

This change replaces the old 3-argument version of reflected ScriptC
constructors with a new single argument (just the RenderScript object).
We can do this safely because there are lookup functions for Resources
and resource IDs directly in the Android API (and accessible via the
RenderScript object). For now, we are still reflecting the legacy version
of the constructor as well, since all existing app source code would be
using it.

Change-Id: I362d6e2bea0f580630b5da9049df029b0f8d7620
/frameworks/compile/slang/slang_rs_reflection.cpp
0a813a3ef2a82f19d7eab9e23ae8493197143803 04-Aug-2012 Stephen Hines <srhines@google.com> Add RS package name option + support.

Usage:
llvm-rs-cc -rs-package-name=android.renderscript ...
or
llvm-rs-cc -rs-package-name android.renderscript ...

This allows us to reflect a different import path for our base RS classes.
The default value is "android.renderscript", resulting in a reflection that
produces "import android.renderscript.*;".

Change-Id: Icf7e83b963ba70c803899697f49b41fdfb9586e7
/frameworks/compile/slang/slang_rs_reflection.cpp
1f6c331d622ac645ab68a016aa4c577998547373 04-Jul-2012 Stephen Hines <srhines@google.com> Fix reflection of setters for unsigned primitive types.

BUG=6764163

We now generate set_*() functions for unsigned types by creating a single
element FieldPacker and stuffing it with the larger Dalvik type. Reusing
FieldPacker in this way allows us to validate that the input is non-negative
and within the appropriate range (i.e. not really using more bits than the
unsigned C type should).

This change also fixes a subtle race where the Dalvik and script side can
disagree about a variable's value. All set_*() methods need to be synchronized,
and we must do the Dalvik update after validating the input data.

Change-Id: I7b2371206848ebbf0b0752779cb6c98cec1ab5f6
/frameworks/compile/slang/slang_rs_reflection.cpp
0d26cef64debfaa6862a27587c1fd0d30baa3b1d 02-May-2012 Stephen Hines <srhines@google.com> Refactor using genSetExportVariable().

BUG=6009244

Change-Id: I3c830b84c6f863faed8e36da625447bdf416579e
/frameworks/compile/slang/slang_rs_reflection.cpp
a6b54146b93eec68f6daa4b1877639cdc34801dc 10-Apr-2012 Stephen Hines <srhines@google.com> Reflect element/dim information for FieldPacker.

BUG=6009244

Change-Id: Ie24b3ce17817b98e8b651f7ec1304dcd18c8c062
/frameworks/compile/slang/slang_rs_reflection.cpp
192392fc5ffedc06eb8ae2b89d703b3c658fddd6 14-Mar-2012 Jason Sams <jsams@google.com> Continue C++ reflection work.

BUG=5972398

Change-Id: I8b9e0a814006152b413af9b35f7d51be6814d4c4
/frameworks/compile/slang/slang_rs_reflection.cpp
2b8fb64be3047df940a219872b331eb11de2758d 09-Mar-2012 Stephen Hines <srhines@google.com> Removing DataKind completely from llvm-rs-cc.

BUG=5972398

Change-Id: I76fdb98fa60bd70468d088f9034acf00e443d6c8
/frameworks/compile/slang/slang_rs_reflection.cpp
47aca4e016665d333fdcd01a9cef16c13d7836a8 09-Mar-2012 Stephen Hines <srhines@google.com> More cleanup for reflection code.

BUG=5972398

1) Remove non-USER export kinds.
2) Removing some DataKind references.
3) More name refactoring to use getRSReflectionType().

Change-Id: I008aeb37820df37acea0db9300ff9594a40cb086
/frameworks/compile/slang/slang_rs_reflection.cpp
fdd1ba13a69501a1b91fdc9be31413215d467497 09-Mar-2012 Stephen Hines <srhines@google.com> Add getRSReflectionType to facilitate new C++ code.

BUG=5972398

Change-Id: I5d1efdbde6eb0b7bb139bdf672a056a4aa5f26e1
/frameworks/compile/slang/slang_rs_reflection.cpp
0444de0c0e7cfc8d8f8fed6f64cd97812bdd6a41 03-Mar-2012 Stephen Hines <srhines@google.com> Adapt to upstream Clang/LLVM changes.

Change-Id: Ib81ad97246dbee060341e2690fb7f27e9e0298f4
/frameworks/compile/slang/slang_rs_reflection.cpp
e67239de8d94975e7e2216ee6860ae2e6cb8b15a 25-Feb-2012 Stephen Hines <srhines@google.com> Style violation cleanup.

Change-Id: Idb127f2fd6e637039454f47299360aec5a4edfe8
/frameworks/compile/slang/slang_rs_reflection.cpp
c17e198ffcd37bfc57e3add1f6eee952ae2a2eab 22-Feb-2012 Stephen Hines <srhines@google.com> Support dummy root() and re-ordering in presence of non-root kernels.

BUG=6000538

Change-Id: Ib3ed249916d36acf68ab32e9216804ae1da5e991
/frameworks/compile/slang/slang_rs_reflection.cpp
41cc61093619da4e99581d0aef4487ce2751812e 16-Feb-2012 Stephen Hines <srhines@google.com> Update llvm-rs-cc to support API level 16.

Also update the date on the copyright notice for reflected files.

Change-Id: I58f12a8e2aeda16bd7384bb88bb7e7028774c5da
/frameworks/compile/slang/slang_rs_reflection.cpp
834517fd108265c17bdba1de6d2ef6d3634c852f 14-Feb-2012 Stephen Hines <srhines@google.com> am d369cda1: Support initialization of constant array exports.

* commit 'd369cda199b11ae28a1935e06398c2162cf146f3':
Support initialization of constant array exports.
d369cda199b11ae28a1935e06398c2162cf146f3 13-Feb-2012 Stephen Hines <srhines@google.com> Support initialization of constant array exports.

BUG=5901034

Change-Id: Ibdc74323080518223bbf79caef0c91030c501f17
/frameworks/compile/slang/slang_rs_reflection.cpp
40cfc8a1179487cc1bed4dceb15c14c7691b8055 13-Feb-2012 Stephen Hines <srhines@google.com> am f5eeaa6a: Revert "Support initialization of constant array exports."

* commit 'f5eeaa6aac0c5ac612ec69f808609e95b97d6829':
Revert "Support initialization of constant array exports."
f5eeaa6aac0c5ac612ec69f808609e95b97d6829 13-Feb-2012 Stephen Hines <srhines@google.com> Revert "Support initialization of constant array exports."

This reverts commit dc8853ace563c3a7e1976d570bf8fe96cfb11446.
/frameworks/compile/slang/slang_rs_reflection.cpp
b172d1df2d1715dddc79aee4a146beef2c9bb130 13-Feb-2012 Stephen Hines <srhines@google.com> am dc8853ac: Support initialization of constant array exports.

* commit 'dc8853ace563c3a7e1976d570bf8fe96cfb11446':
Support initialization of constant array exports.
dc8853ace563c3a7e1976d570bf8fe96cfb11446 07-Feb-2012 Stephen Hines <srhines@google.com> Support initialization of constant array exports.

BUG=5901034

Change-Id: I61fba1cdf54a5e3289da01730e8bc3d0d2e72050
/frameworks/compile/slang/slang_rs_reflection.cpp
7e71052b77e39ae94e3fb325a17f260cff9150c8 01-Feb-2012 Stephen Hines <srhines@google.com> am ec85aa2e: Merge "Reflect constant primitive types back to Java."

* commit 'ec85aa2e0ccca907e8e80285b21d1a99444861c4':
Reflect constant primitive types back to Java.
5d67178077b50d0a02832e91053ee71ec33a25c2 01-Feb-2012 Stephen Hines <srhines@google.com> Reflect constant primitive types back to Java.

We reflect it in the containing class as follows:
public final static TYPE const_NAME = INIT;

Change-Id: I478a6ba75715cfe3ddf1196794153721b793b287
/frameworks/compile/slang/slang_rs_reflection.cpp
55d49a5163a335f32a360bf957a1a11343e43fda 08-Dec-2011 Stephen Hines <srhines@google.com> am ee35ab7a: Remove weak-ref use with Elements.

* commit 'ee35ab7a313dcf2b23f9446e52b822c79d50db4e':
Remove weak-ref use with Elements.
ee35ab7a313dcf2b23f9446e52b822c79d50db4e 08-Dec-2011 Stephen Hines <srhines@google.com> Remove weak-ref use with Elements.

Change-Id: I0993773224758b4f69da47824742687ad95ac1ca
/frameworks/compile/slang/slang_rs_reflection.cpp
b42ab80deb6105918fb578804018d18a248c45ab 03-Dec-2011 Jason Sams <rjsams@android.com> am a0d7b3c1: Merge "Add create1D and create2D factory reflected methods."

* commit 'a0d7b3c112ddcef746343d1f6061eb175e9ba7c0':
Add create1D and create2D factory reflected methods.
381e95f95d7eb14144081a1ca74f96c5e06ba089 30-Nov-2011 Jason Sams <rjsams@android.com> Add create1D and create2D factory reflected methods.

Change-Id: I07972c897ea3ac77a8d059258bcdcc1f360ed8b7
/frameworks/compile/slang/slang_rs_reflection.cpp
40cbb1696d6182a165ec9b16e81bf994810de5b3 26-Nov-2011 Logan Chien <loganchien@google.com> am fa6ef56a: Apply changes to migrate to upstream (Nov 25th 2011).

* commit 'fa6ef56a6ca3dc3061218a75a7e68e5357fcb82c':
Apply changes to migrate to upstream (Nov 25th 2011).
fa6ef56a6ca3dc3061218a75a7e68e5357fcb82c 25-Nov-2011 Logan Chien <loganchien@google.com> Apply changes to migrate to upstream (Nov 25th 2011).

- HandleTopLevelDecl now returns bool.
- Additional APValue::MemberPointer case for switching.

Change-Id: Ieb7a693f96b07b7659712a3ab0abd200ce7df505
/frameworks/compile/slang/slang_rs_reflection.cpp
de056d4d6e9a93967e62365012206a9f669dabc9 18-Nov-2011 Stephen Hines <srhines@google.com> am cfb00677: Merge "Generate/skip padding and use new prefix for ICS."

* commit 'cfb006776ba44d10cc161a87b310d8d2215217b7':
Generate/skip padding and use new prefix for ICS.
d1123c29614eb9e0df7485f9e0775470db2f0384 15-Nov-2011 Stephen Hines <srhines@google.com> am 6a20005e: Merge "Adapt to upstream changes."

* commit '6a20005e9cf115b450ff344c5b13b2efaf8c4b75':
Adapt to upstream changes.
a9ae5ae8866d937a99601d24a922c8f3f4223f59 12-Nov-2011 Stephen Hines <srhines@google.com> Generate/skip padding and use new prefix for ICS.

BUG=5609007

Change-Id: Ia69fa45e0f728914a4c5de1a531f367dda165dba
/frameworks/compile/slang/slang_rs_reflection.cpp
4c622e0953afe3dca4da0aee364a811f3ccb61d9 11-Nov-2011 Stephen Hines <srhines@google.com> Adapt to upstream changes.

Change-Id: I9ab7bad890eb78621c5fc6dd516dbcacdad88471
/frameworks/compile/slang/slang_rs_reflection.cpp
db6dfdfcb7e8183f1c796475e5098ee4be80b5b8 08-Nov-2011 Jason Sams <jsams@google.com> Add path object type.

Change-Id: I40f2323d2495d1754c910bd0161d59c0f2054eca
/frameworks/compile/slang/slang_rs_reflection.cpp
b7d1269f983f28d9fe625a96439fa88b39dc96f6 03-Sep-2011 Stephen Hines <srhines@google.com> Remove obsolete/confusing options and fix strings.

Change-Id: I26b5eeea7ddc8cc4984745daa52635ea95ad7c66
/frameworks/compile/slang/slang_rs_reflection.cpp
ba1a78533ac700184792cba67bb78ab0521332be 27-Aug-2011 Stephen Hines <srhines@google.com> Merge "Start basic support for LLVM 2.9 bitcode writer."
4cc499d6e5ec602309501873449c938af61170b2 25-Aug-2011 Stephen Hines <srhines@google.com> Start basic support for LLVM 2.9 bitcode writer.

Change-Id: I6a54158a32e485f506f0b991f89125b8a0e60267
/frameworks/compile/slang/slang_rs_reflection.cpp
38eca1ad0d6bfac8f1fbf7c8360f4c18ecd205c2 25-Aug-2011 Alex Sakhartchouk <alexst@google.com> Fixing copyNow reflection.
Adding synchronization to setters/getters

Change-Id: I32327473fdcde9d22642b60c8f711f6237200fd3
/frameworks/compile/slang/slang_rs_reflection.cpp
4a4bf92a8add68629a7e6e59ef81c3c3fe603a75 19-Aug-2011 Stephen Hines <srhines@google.com> Don't generate forEach() on pre-ICS target SDK.

Change-Id: I794587d1f79a08aca8cc4f7f20f4012050ab0501
/frameworks/compile/slang/slang_rs_reflection.cpp
049229ba647d3d3cddef7a81b3ae9d3e0729a842 04-Aug-2011 Stephen Hines <srhines@google.com> Properly calculate end of struct padding.

BUG=5081813

Change-Id: Ie0556bdc33015e9e1af519514f6bf61704ddf3b4
/frameworks/compile/slang/slang_rs_reflection.cpp
6b201eb3306b9609a991728a52ce948974bd4aed 21-Jul-2011 Stephen Hines <srhines@google.com> Define RS_VERSION as the SDK version.

Change-Id: Iaee48b397923e7f6af33b6dfd4a03f52bdd34f93
/frameworks/compile/slang/slang_rs_reflection.cpp
aaeb5f85c7a8129531e7f1c3c49fe4fe1e18b1b4 21-Jul-2011 Stephen Hines <srhines@google.com> Merge "Fix style issues."
ecddee364d731c09c77b4c3fa647fa4f50e26756 21-Jul-2011 Stephen Hines <srhines@google.com> Fix style issues.

Change-Id: I646b5232cfac772c5a310b62f435a2cc79b2c831
/frameworks/compile/slang/slang_rs_reflection.cpp
d22724aead836dc039f5f9521ad7d38845d07ea0 21-Jul-2011 Andrew Hsieh <andrewhsieh@google.com> Enhanced check for padding

Change-Id: Iaf97f30d169918776220fd6b920067fd7db4f05a
/frameworks/compile/slang/slang_rs_reflection.cpp
48b72bf3ea4a7dc66a0b59734aeb0c4adfb4d9d1 11-Jun-2011 Stephen Hines <srhines@google.com> Type-checking for ForEach with RS types.

BUG=4203264

Change-Id: I90e54cdf22fea76ffde9548617fb7b492ba9d643
/frameworks/compile/slang/slang_rs_reflection.cpp
4f9e08bd32ea91d42160d4b8f2f452947dbacbdf 18-Jun-2011 Stephen Hines <srhines@google.com> Add in missing primitive element reflection.

Change-Id: Ib1d00eeb6ed6abdc16f63a9a0cf2dc957b63a8b2
/frameworks/compile/slang/slang_rs_reflection.cpp
b5a89fbfcba6d8817c1c3700ed78bd6482cf1a5d 17-May-2011 Stephen Hines <srhines@google.com> Clean up forEach reflection code.

BUG=4203264

Change-Id: I8196608408fe333bd8e875d9517b8e875bdce17d
/frameworks/compile/slang/slang_rs_reflection.cpp
593a894650e81be54173106ec266f0311cebebd3 11-May-2011 Stephen Hines <srhines@google.com> Simple support for reflecting rsForEach().

BUG=4203264

Change-Id: Idf722ee3fb07c8e46ac0c4628e753ff2fa6840cf
/frameworks/compile/slang/slang_rs_reflection.cpp
3fa286b4c2f110c6be2bbfac9c715bb1ec880338 10-Feb-2011 Shih-wei Liao <sliao@google.com> Fix b/3427124. Adding the overloadable invokable feature. Reflect that type of invokables to Java.

1. Add __attribute__((overloadable)) support on the rs side for invokables. Requested by the Books team.
2. Add name mangling support and MangleContext.
3. Add the test P_overload.
4. This CL only affects Honeycomb SDK. It doesn't affect Final ROM.
5. This CL should go in at the same time with another CL on external/clang.git (to be done now.)

Change-Id: I9e743894a97626d8c27b0dd9c0a51cef1175d2ab
/frameworks/compile/slang/slang_rs_reflection.cpp
8d5a2f6ab321615bfb3a46f68aff0b643a71caa0 08-Feb-2011 Raphael <raphael@google.com> Support Windows paths in slang.

Change-Id: I5240164d1d83f7816973a0e6ee9c26e337e605b1
/frameworks/compile/slang/slang_rs_reflection.cpp
6e6578a360497f78a181e63d7783422a9c9bfb15 08-Feb-2011 Stephen Hines <srhines@google.com> Add support for assertions in llvm-rs-cc.

Bug: 3430674
Change-Id: I3400238652449cde84275cc2a770f405332d9544
/frameworks/compile/slang/slang_rs_reflection.cpp
d09df09ae1e354c4fa595ab421b365ce5cd58cf3 04-Feb-2011 Stephen Hines <srhines@google.com> Fix pragma for reflection license.

Bug: 3423577

Change-Id: I64bc50690fff713787ee1f541237d9496f739695
/frameworks/compile/slang/slang_rs_reflection.cpp
6b64b2bd2daf45a4a8bd8b5a11d09410bd53455f 02-Feb-2011 Stephen Hines <srhines@google.com> Remove android.util.Log from reflected files.

Change-Id: Ie1d743753275349745b57fde6a3eef94ec4dc115
/frameworks/compile/slang/slang_rs_reflection.cpp
4cc67fce91f43215d61b2695746eab102a3db516 01-Feb-2011 Stephen Hines <srhines@google.com> Support for generating .java dependencies for RS.

This updates the -MD option to also emit .java targets to the dependency
information placed in our foo.d file.

Change-Id: I189cf6302bc1cbd6201487743a37dced87b5c5eb
/frameworks/compile/slang/slang_rs_reflection.cpp
0661778f3810bc090f025b69fc84eed3cde9cecf 17-Jan-2011 Stephen Hines <srhines@google.com> Fix style.

Change-Id: I9ce2addfc80228a2aa1cf8e91d0dd04ae91ffc85
/frameworks/compile/slang/slang_rs_reflection.cpp
10c4c39a9cd1c7b0db3d9dd5cec5dc9ee36fcab5 17-Jan-2011 Jason Sams <rjsams@android.com> Just pass the field packer directly rather than
unpacking it in the reflected code.

Change-Id: I3a6febc7eec88a331559dbf3daee0d648c7e967d
/frameworks/compile/slang/slang_rs_reflection.cpp
a036a8a7186f7c2f088917107f2c854fbd2187b8 16-Jan-2011 Jason Sams <rjsams@android.com> Change to match final API sigs

Change-Id: Ifdc812b08e803aceb9074a1c9228345959dce528
/frameworks/compile/slang/slang_rs_reflection.cpp
329179389684e74bbb6ef5a95c6fbc769cac05c0 12-Jan-2011 Stephen Hines <srhines@google.com> Fix style.

Change-Id: I8e9e312ca3bd5b30dff0cfb4d3fd6e0444d3b2e9
/frameworks/compile/slang/slang_rs_reflection.cpp
42afde21ffd77fe454a6272f80a0b89fe7232ef8 08-Jan-2011 Jason Sams <rjsams@android.com> Update with new function names.

Change-Id: I130e3376db5f1a83724840bb18d1937983c228a9
/frameworks/compile/slang/slang_rs_reflection.cpp
aa180e98d5209fb44e7d5ecaec758be4a43078cd 17-Dec-2010 Alex Sakhartchouk <alexst@google.com> API clean-up

Change-Id: If5e228783df51e6183ff84d8f28c2ff840b29761
/frameworks/compile/slang/slang_rs_reflection.cpp
cedffd91a421770b3a6aa3c858c7c8db55962628 17-Dec-2010 Jason Sams <rjsams@android.com> Fix bug with resize that would leave the
fieldPacked sized to the origional allocation.

Change-Id: I9f9df065f39909ff0e55e00e33a5fc223eaee4ad
/frameworks/compile/slang/slang_rs_reflection.cpp
dd6206bb61bf8df2ed6b643abe8a29c48a315685 10-Dec-2010 Stephen Hines <srhines@google.com> Arrays of width 3 vector types cannot be exported.

Bug: 3171195
Change-Id: I7deab4ab9c7f8650bce7c597fae2a0dc013f6f71
/frameworks/compile/slang/slang_rs_reflection.cpp
91fe83b56e6ffabecdb1292ff3694275ef07aed9 07-Dec-2010 Jason Sams <rjsams@android.com> Add usage flag to create ScriptField_*

Change-Id: I5f1bc7207559ab2e2ab842eb2ff06b61310dcc1f
/frameworks/compile/slang/slang_rs_reflection.cpp
536aef0dd1befdfef5786e3a8bc80d81ccc3625b 07-Dec-2010 Jason Sams <rjsams@android.com> Update for API changes.

Change-Id: I4ba7facd1c0178936683a324da08c83f52e222c9
/frameworks/compile/slang/slang_rs_reflection.cpp
650c02be6719a961027c86d6b9a142014eb889db 17-Nov-2010 Jason Sams <rjsams@android.com> Fix reflection to use new setVar(object)

Change-Id: I946cdbf39d8fa3843dbcd810236666e8157bd95f
/frameworks/compile/slang/slang_rs_reflection.cpp
e639eb5caa2c386b4a60659a4929e8a6141a2cbe 09-Nov-2010 Stephen Hines <srhines@google.com> Improve code style.

Change-Id: I26e043849bce2a4b41ae132fbe0c882f4a6f112f
/frameworks/compile/slang/slang_rs_reflection.cpp
b6902e2d07d1a0f20723f8502c65438a18d8b6e3 04-Nov-2010 Jason Sams <rjsams@android.com> Add new constructor to reflected code that removes
the isRoot param which is depricated.

Keep old constructor during transition of application code.

Change-Id: I368e474b295cc60eee3a4b561bb7a72a7a6bb2d8
/frameworks/compile/slang/slang_rs_reflection.cpp
3caea7dd00c8a8a39712bcd9b6323093967b077b 26-Oct-2010 Jason Sams <rjsams@android.com> Fix handling of null item list on resize.
Change size queries to use allocation type rather
than the old cached field type which has been removed.

Change-Id: Idb45cea229763d1ea5311392cb47cc71bf8814c0
/frameworks/compile/slang/slang_rs_reflection.cpp
d42a429f42fd6f272188af64f412cd604f02b365 16-Oct-2010 Zonr Chang <zonr@google.com> b/3093518 Add resize() method in the reflected of ScriptField_*.java.
/frameworks/compile/slang/slang_rs_reflection.cpp
89273bd59a182fc0401d68f14ad206bf4dc800c7 14-Oct-2010 Zonr Chang <zonr@google.com> b/3093447 Create element of constant array using Element.add(Element element,
String name, int arraySize) API.
/frameworks/compile/slang/slang_rs_reflection.cpp
2f1451cf567125d8ebd2cacfa83a10fdf3a7ab5a 13-Oct-2010 Zonr Chang <zonr@google.com> b/3093393 Properly initialized constant array where the element is of
the primitive type.
/frameworks/compile/slang/slang_rs_reflection.cpp
c383a500aa59423264811be3874461bf8adbfea0 11-Oct-2010 Zonr Chang <zonr@google.com> Prepend legal announcement in all files.

Release libslang/llvm-rs-cc/llvm-rs-link under Apache 2.0 license.
/frameworks/compile/slang/slang_rs_reflection.cpp
a5d2c232d56b04292cb51c8fb343aef990f7970f 12-Oct-2010 Stephen Hines <srhines@google.com> Support for unsigned long and unsigned long long.

Change-Id: I8e3b6a90fa9119f3d98c5f276df2590b7690d22b
/frameworks/compile/slang/slang_rs_reflection.cpp
b81c6a4cbd9c08e0b20ea4fbc615b416ac1bc9ec 10-Oct-2010 Shih-wei Liao <sliao@google.com> Revert "Revert "New implementation of llvm-rs-cc (replacement of slang_driver).""

This reverts commit a6d60672695f1438a63acdbf85eae7f97ce2b50d.
/frameworks/compile/slang/slang_rs_reflection.cpp
a6d60672695f1438a63acdbf85eae7f97ce2b50d 10-Oct-2010 Shih-wei Liao <sliao@google.com> Revert "New implementation of llvm-rs-cc (replacement of slang_driver)."

This reverts commit 6791df284557f4173a9715b3634f4f4901a6bb8a.
/frameworks/compile/slang/slang_rs_reflection.cpp
6791df284557f4173a9715b3634f4f4901a6bb8a 09-Oct-2010 Shih-wei Liao <sliao@google.com> New implementation of llvm-rs-cc (replacement of slang_driver).

Change-Id: I1b8b6cf3dad8ef8fe2f4d24d4df604099f45ff37
/frameworks/compile/slang/slang_rs_reflection.cpp
8c6d9b2d36ed2d6d811279fd9bddc05fffe16803 07-Oct-2010 Zonr Chang <zonr@google.com> Use llvm::sys::Path to implement "mkdir -p".

Change-Id: I3bb36e1a8050bbd9744fd02935b6186d2f285015
/frameworks/compile/slang/slang_rs_reflection.cpp
050eb857325d6cd35f23fae6c82200aff5a9bcc1 07-Oct-2010 Stephen Hines <srhines@google.com> Use "L" suffix for 64-bit Java int initializers.

Change-Id: I8fb5d53455f765a5d2324471a73af2cabe4ca63c
/frameworks/compile/slang/slang_rs_reflection.cpp
1ab1a450fed988c70c621c24dcf655733ccd3708 06-Oct-2010 Zonr Chang <zonr@google.com> GetTypeNullValue() in slang_rs_reflection should take boolean type into consideration.
/frameworks/compile/slang/slang_rs_reflection.cpp
cf950c49a909350e529ddecffaae8be5429b9479 06-Oct-2010 Shih-wei Liao <sliao@google.com> Check mItemArray in component-level getter and return correct null value for
/frameworks/compile/slang/slang_rs_reflection.cpp
8a224b81e0e87af300080123568667988fbc1f05 06-Oct-2010 Shih-wei Liao <sliao@google.com> Revert "Check mItemArray in component-level getter and return correct null value for"

This reverts commit ee90f495946efc95f514639368183c07d6ac3a55.
/frameworks/compile/slang/slang_rs_reflection.cpp
ee90f495946efc95f514639368183c07d6ac3a55 05-Oct-2010 Zonr Chang <zonr@google.com> Check mItemArray in component-level getter and return correct null value for
requesting component type (e.g., 0 for float and null for object) if it's null
(i.e., no any value has been assigned ever).
/frameworks/compile/slang/slang_rs_reflection.cpp
2e1dba6c779a0ae55c76d36a3c03553e16725ab7 05-Oct-2010 Zonr Chang <zonr@google.com> Rewrite the RSExportConstantArrayType to better support reflecting
constant-sized array variable.
/frameworks/compile/slang/slang_rs_reflection.cpp
0da0a7dc51c25943fe31d0bfccbdfee326a3199c 05-Oct-2010 Zonr Chang <zonr@google.com> 1. Rewrite reflection of parameter packet in RSExportFunc. In order to
generate the correct call (i.e., all parameters in the call instruction
must match the target function signature) regardless of ABI, we construct type
of parameter packet directly from target function prototype (which may not be
the same as the one declared in the source since Clang may modified it to
the type which is better supported by the target ABI.)
2. Rewrite reflection of RSExportRecordType to use clang::ASTRecordLayout. This
corrects the reflection of struct type when tail padding and field alignment
involve. This improves stability of RSExportRecordType reflection.
/frameworks/compile/slang/slang_rs_reflection.cpp
92b344a51c6c4934e96882bd401e4b13d6d03db8 05-Oct-2010 Zonr Chang <zonr@google.com> Create RSExportMatrixType which is a subclass of RSExportType
to support rs_matrix{2x2,3x3,4x4} explicitly.
/frameworks/compile/slang/slang_rs_reflection.cpp
66aa299de2b5e0b0c7bfae7628e29a3961247aed 05-Oct-2010 Zonr Chang <zonr@google.com> Fix FieldIndex issue and re-enable it in reflection.
/frameworks/compile/slang/slang_rs_reflection.cpp
6315f76e3cc6ff2d012d1183a0b030d4ff0dc808 05-Oct-2010 zonr <zonr@google.com> More coding style fixing to improve the readability. No actual semantics
changed. This also makes cpplint happy.
/frameworks/compile/slang/slang_rs_reflection.cpp
91a3783ce1f4eb9ad6e9c1ecdbd27f3d6dc58634 04-Oct-2010 Shih-wei Liao <sliao@google.com> 1. Reorder DataTypeBoolean, DataTypeRSMatrix2x2, DataTypeRSMatrix3x3, and DataTypeRSMatrix4x4 in RSExportPrimitiveType::DataType.
2. Refine the RSExportPrimitiveType::DataKind.

Change-Id: Ida0849e68b00571e0f055089ccc5a46d26760390
/frameworks/compile/slang/slang_rs_reflection.cpp
9ef2f785e0cc490af678dfd685995dec787321ff 01-Oct-2010 Shih-wei Liao <sliao@google.com> The Mother-of-All code review:
1. Fix AllowRSPrefix bug
2. Remove member mRS*Pragma in class RSContext
3. No longer only support 2x2, 3x3, 4x4 arrays
4. Fix Export All code for victorhsieh
5. Improve readability and maintainability
6. size_t -> int in calculating padding

Change-Id: I772aebd1440af66a89e2d2e688b193e500f38d69
/frameworks/compile/slang/slang_rs_reflection.cpp
8d75dc46a30e8617bd29dfe00492c5aab02dacf5 02-Oct-2010 Stephen Hines <srhines@google.com> Support for signed 64-bit integer type.

b/3050131 exported renderscript structures don't appear to support int64_t

Change-Id: I834f11394fa8060a56201b9709fa058d5ccecb5b
/frameworks/compile/slang/slang_rs_reflection.cpp
83fbfba1257bf334bbf00a37e4d2214634f45e4b 22-Sep-2010 Stephen Hines <srhines@google.com> Add support for "f" suffix on float constants.

Bug 3000361: slang complains about assigning a default variable to a float

Change-Id: Id6bd2b15d568d8b4ccce6c706d632f2c6fd97c94
/frameworks/compile/slang/slang_rs_reflection.cpp
70842c7439bd523611f3ed232ecc6de844932145 21-Sep-2010 Stephen Hines <srhines@google.com> Add support for Float64 (double) to slang.

Change-Id: Ia1be4eda28f3bcf2bd75a556c4329324f7aa76a5
/frameworks/compile/slang/slang_rs_reflection.cpp
cecd11d2af5d45d8ba322bed61fb48a99c305528 21-Sep-2010 Shih-wei Liao <sliao@google.com> Fix warnings. Bug fix.

Change-Id: I80934814ae64d11f0edebfa3b131164207f1aca0
/frameworks/compile/slang/slang_rs_reflection.cpp
f9d3cb6b5b877129c877e49715a7fc3ad04c21b8 18-Sep-2010 Shih-wei Liao <sliao@google.com> Turn off buggy FieldIndex for now.

Change-Id: Ib9abe7a2ccf427fa06f331b849467244b73c88f9
/frameworks/compile/slang/slang_rs_reflection.cpp
7cbb87fce2947eec7abdb4d2239b4a63ffbc3155 18-Sep-2010 Shih-wei Liao <sliao@google.com> Remove unnecessary checks in component getter.

Change-Id: I584735b998b18de0ac01cf8851c9fb548716e856
/frameworks/compile/slang/slang_rs_reflection.cpp
9c631ff2e65a8fa766981c9683c3b255ce0a2388 17-Sep-2010 Shih-wei Liao <sliao@google.com> Simplify field getters by removing unnecessary null checks. Add reflection for component-level getter and setter.

Change-Id: Ic6ea9f9e02400cbb7f43b6421d7adde6523b458c
/frameworks/compile/slang/slang_rs_reflection.cpp
fb7fafc18020f524f2c368ff4cae3a487e83230c 17-Sep-2010 Shih-wei Liao <sliao@google.com> Revert "Add reflection for component-level getter and setter."

This reverts commit 30a1c526117f8c700fff1e69f7bb65d0ba505a5a.
/frameworks/compile/slang/slang_rs_reflection.cpp
30a1c526117f8c700fff1e69f7bb65d0ba505a5a 17-Sep-2010 Shih-wei Liao <sliao@google.com> Add reflection for component-level getter and setter.

Change-Id: I2f2760715876419cc09cd983e9a546b9762bfe2a
/frameworks/compile/slang/slang_rs_reflection.cpp
1ebc0ca6ffa7effb875883d18205ed4943ab8fc2 14-Sep-2010 Shih-wei Liao <sliao@google.com> Implement the ARM-specific struct layout ABI in exportable functions parameters for rs. Add the ABI-compliant #args when needed.
My old code inadvertently assumed x86 ABIs for structs, but ARM ABI/calling convention is tricky here, compared to x86's. Also, fixed the type promotion problem.
Note that the most portable fix is to add a shim layer in Clang which is a BIG undertaking like PNaCl. Let's put in the potential fix for b/2988615 now.

Change-Id: I1d9fe4d803485b55bb72112ea8e17c1f4a19dd32
/frameworks/compile/slang/slang_rs_reflection.cpp
0877f0557e5c406fc8ff33c928a8ae969a5f4905 10-Sep-2010 Ying Wang <wangying@google.com> Handle big bitcode files.

Split the bitcode file into segments due to Java method size limitation.

Change-Id: I4c171c40a45067da63098deb2408449dab38b041
/frameworks/compile/slang/slang_rs_reflection.cpp
3f8b44dba57685b437cecc208f2a20a4ed93ed36 04-Sep-2010 Ying Wang <wangying@google.com> Encode the bitcode binary files into Java source files.

So that the apps don't need to have the bc files as resources.
The bitcode java files will be put at the same dir as the reflected java files.
The bitcode java file name will be <ClassName>BitCode.java.
The bitcode is represented as byte array and you can reference it as:
byte[] bitcode = <ClassName>BitCode.getBitCode();

To enable this feature, pass "-s jc" to the command line.

The class name <ClassName> is converted from the .rs file name, for example:
foo.rs -> FooBitCode.java
foo_bar.rs -> FooBarBitCode.java
fooBar.rs -> FooBarBitCode.java
foobar.rs -> FoobarBitCode.java

i.e., any non-alnum characters in the rs file name are filtered
and the rest are converted to camel case.

The above method is also applied to the reflected java classes now.

Change-Id: Idf234d4c017e33740a13d6cd68bc3e14710ec149
/frameworks/compile/slang/slang_rs_reflection.cpp
f8149d9e5a3795e9952717ee6346789a134c55c7 22-Aug-2010 Shih-wei Liao <sliao@google.com> Handle ConstantArray Type.

Change-Id: Id3677e818693d6f95445d67116db3d6766d1fbd6
/frameworks/compile/slang/slang_rs_reflection.cpp
fcdd3355ba5b1e32e31941be6ec4da1469de3101 20-Aug-2010 Shih-wei Liao <sliao@google.com> Change RS_MATRIX2X2 to RS_MATRIX_2X2, RS_MATRIX3X3 to RS_MATRIX_3X3, RS_MATRIX4X4 to RS_MATRIX_4X4.

Change-Id: I1eb016c92a46c44e5f2859646a000c20732e8ff5
/frameworks/compile/slang/slang_rs_reflection.cpp
4e348449fedc9e33e3a5a6796d480c0a74202b9b 18-Aug-2010 Ying Wang <wangying@google.com> Add header and annotation to reflected java files

1. Header of generated source
2. Annotate class as hidden, so that they won't be exposed to public SDK.

Change-Id: Iad94a78e97265e2e2ddf694945e119f2dc5afc2f
/frameworks/compile/slang/slang_rs_reflection.cpp
ca3be0350773a63b7792eedc216a7808e42e77ea 18-Aug-2010 Shih-wei Liao <sliao@google.com> Implement rs_matrix2x2, rs_matrix3x3, rs_matrix4x4

Change-Id: I6a7e829eb41c84e13f91fd3fa7929d6929a8cff9
/frameworks/compile/slang/slang_rs_reflection.cpp
0a3f20ec28ed6f5ae1ed5d61f6b6e3e577f7f5d1 10-Aug-2010 Shih-wei Liao <sliao@google.com> Handle RecordLayout and get the Alloc size.

Fix bug b/2901942 "hang in renderscript."

Change-Id: Ia33c64f47656a93f6de1eb95e3e983266289c8ba
/frameworks/compile/slang/slang_rs_reflection.cpp
9b1f50b1cab0687f2f218a924e4ff90184aebe0a 05-Aug-2010 Shih-wei Liao <sliao@google.com> Implement accessor (getter) for retrieving an item for TypeClass in reflection

Change-Id: I21d44b3e25ecbff6152dd6b43ffb38c1728b33a2
/frameworks/compile/slang/slang_rs_reflection.cpp
4c9f742efa36b1037acc640184681d421aa0f6ba 05-Aug-2010 Shih-wei Liao <sliao@google.com> Right usage of linking. Enable the reuse of the same Slang object across multiple input files.

Change-Id: Id036c300ece9a245437ea2bdd0a9c0da436f558d
/frameworks/compile/slang/slang_rs_reflection.cpp
2239ecece40c177e071f56326cd5ef423806394d 29-Jul-2010 Shih-wei Liao <sliao@google.com> Reflect to float or double based on APFloat's semanticsPrecision function. Check IEEEsingle etc.

Change-Id: Ie7f0985df05b3c4baace70017cc8b1c173a37310
/frameworks/compile/slang/slang_rs_reflection.cpp
68e8e9f98730b3672fb96d49e33b9db70a90ed3f 19-Jul-2010 Shih-wei Liao <sliao@google.com> Add include path and deal with the case that "-p" flag on path is unspecified.

Change-Id: I592b23ac1e08b62088a9a9e1bfc8109b56929386
/frameworks/compile/slang/slang_rs_reflection.cpp
139949bc10689a1a91980840fa743a3b07668e69 17-Jul-2010 Che-Liang Chiou <clchiou@google.com> handle corner case that path string is too long

Change-Id: I328581bbcb8c4840a7461dbb27c23efb767a8a3b
/frameworks/compile/slang/slang_rs_reflection.cpp
b55d7ef3333534fc6aad80f9a9133f2bf945faf1 16-Jul-2010 Shih-wei Liao <sliao@google.com> Change "-o" to create parent directories if it's needed.

Change-Id: I98de7f29d338c5849f5fcd7fb598c00150140d5a
/frameworks/compile/slang/slang_rs_reflection.cpp
8b1d0dd74715221138d2458858178b4e0e014f09 16-Jul-2010 Shih-wei Liao <sliao@google.com> Create path if needed and add RSReflection::openScriptFile.

Change-Id: I58e8d6f66bc093a391001ba09e44ac0bc5566827
/frameworks/compile/slang/slang_rs_reflection.cpp
6de89272b00a31f2a73e2f56edf9cc511df46265 16-Jul-2010 Shih-wei Liao <sliao@google.com> Add --output-java-reflection-path | -p

Change-Id: I951a3540aa653060f81ff76b670ffb4b0029a3ca
/frameworks/compile/slang/slang_rs_reflection.cpp
f1bd510334a62034dcf3b4787f2d6634d05ec80b 09-Jul-2010 Shih-wei Liao <sliao@google.com> Change SimpleMesh to Mesh.

Change-Id: Iba829349ea5c17b225c41d09e0375727a11dcf99
/frameworks/compile/slang/slang_rs_reflection.cpp
d8a0d186a362739f385f1a4af35360d5da69e47b 07-Jul-2010 Victor Hsieh <victorhsieh@google.com> Add pragma rs set_reflect_license

Change-Id: I9c3d9505c108a11b6c3fd85499fbac10da9f2532
/frameworks/compile/slang/slang_rs_reflection.cpp
48bac230fe966771f3074975fc2426ffde519edf 04-Jul-2010 Shih-wei Liao <sliao@google.com> Add genInitBoolExportVariable.

Change-Id: I4add75d258e1b99c9217a829f2aed6ff15faa6ba
/frameworks/compile/slang/slang_rs_reflection.cpp
1f0d88fbff28e4e2dd563d93c8fe0047381c09cc 25-Jun-2010 Shih-wei Liao <sliao@google.com> Use addBoolean successfully and bool->boolean reflection.

Change-Id: I2c31ef41766f8ace472ed289012de336e43e9aa9
/frameworks/compile/slang/slang_rs_reflection.cpp
bb1f9f01421ffbbafb4f02ea7c27dabd605edc35 24-Jun-2010 Shih-wei Liao <sliao@google.com> slang_rs_reflection support for rs_font.

Change-Id: I0df35f2580fd3db9fe91942d130b7b3fb8fb2d59
/frameworks/compile/slang/slang_rs_reflection.cpp
cbbdd92b981296f347b02c0fa45621912ea8195c 24-Jun-2010 Shih-wei Liao <sliao@google.com> Add rs_font.

Change-Id: I726ed6951b3f34484b1d25719807cd8d3bff9337
/frameworks/compile/slang/slang_rs_reflection.cpp
c382c607cd3bbd94f8e8e26bc6d6e72efaad2d55 22-Jun-2010 Shih-wei Liao <sliao@google.com> Don't reflect set_*() API for export variables having 'const' qualifier

Change-Id: I829ce2ebdca7d01f6c41986cf76455328c7a7771
/frameworks/compile/slang/slang_rs_reflection.cpp
dd35e490cc067a761f0f55ecde5c76a76cc87ad2 21-Jun-2010 Shih-wei Liao <sliao@google.com> Add boolean.

Change-Id: Ia5f47249fd20edb3ebcf3b263fe3e215ba174164
/frameworks/compile/slang/slang_rs_reflection.cpp
324c0479ec3edda573de60b2e6476507a99d06f7 21-Jun-2010 Shih-wei Liao <sliao@google.com> Reflect initializer of an exported variable if any.
(NOTE: record type is unsupported currently)

Change-Id: I26fa50dc38488217420a25bafb07f29f6ab28d28
/frameworks/compile/slang/slang_rs_reflection.cpp
9e86e1926328d9ecf3cd0922e55299db901f6469 19-Jun-2010 Shih-wei Liao <sliao@google.com> Add "public static createElement" as part of reflected files for the fields.

Change-Id: I8d4c0549933114579cf507f662bfcd99ee4bdb10
/frameworks/compile/slang/slang_rs_reflection.cpp
9e98e006c1dd889ecac1bebf353500e7a54d490e 19-Jun-2010 Shih-wei Liao <sliao@google.com> Fix the subData argument values: They are in the unit of elements, NOT in the
unit of bytes. Verified that Launcher2 is reflected correctly now.

Change-Id: I85921743e6f0f74650c99a2e80b26028a685e9e4
/frameworks/compile/slang/slang_rs_reflection.cpp
bd49c8ff5a35befb413de3b6d7989d257b54f057 17-Jun-2010 Shih-wei Liao <sliao@google.com> Remove USER_F32, ...

Change-Id: Id83bf0c32ec4fa1ea950237ff83e221d1a40e73a
/frameworks/compile/slang/slang_rs_reflection.cpp
b1a28e752571e744444377c89e5c256b4332dc58 17-Jun-2010 Shih-wei Liao <sliao@google.com> Phase out part of Data Kind.

Change-Id: I22c4c8c393d4ee2b494050c5d8daa04e56c4919d
/frameworks/compile/slang/slang_rs_reflection.cpp
60c985d5a07b76b34e5113fbd166bf73ba16b7d0 15-Jun-2010 Shih-wei Liao <sliao@google.com> Null pointer checking for setting RS objects in reflection.

Change-Id: Ic35fd444d853d7c90c9f8d9359852b8cfc2eba56
/frameworks/compile/slang/slang_rs_reflection.cpp
2dd42ffb0679851777ec4733681816d399d5f7d3 15-Jun-2010 Shih-wei Liao <sliao@google.com> Fix slang to do invoke_foo() without null.
Fix slang to pass "id" in the constructor in ScriptC_*.

Change-Id: I52f98a742fa919c7fe2c74a04bccce962061d5b5
/frameworks/compile/slang/slang_rs_reflection.cpp
c20992e629a0edb507be763851edaf073cb5b18a 10-Jun-2010 Shih-wei Liao <sliao@google.com> Type promotion in reflection. That is, treat unsigned char in C as short in Java, unsigned short as int and unsigned int as long

Change-Id: I81f2141a786dc1a05f7f12c8dbded9f0a5e5e804
/frameworks/compile/slang/slang_rs_reflection.cpp
bdd788877b3f18980836a3ed0d46627169483653 06-Jun-2010 Shih-wei Liao <sliao@google.com> Set LOCAL_MODULE_CLASS in slang to EXECUTABLES.
Use invoke() (invokeData() and invokeV() are deprecated) for reflecting function.

Change-Id: I25db106c8e162b87b38db1a5c740d913327186d3
/frameworks/compile/slang/slang_rs_reflection.cpp
462aefd62cc646d2ff753c1d003ef3cd7bbea262 05-Jun-2010 Shih-wei Liao <sliao@google.com> Initialize slang and Android.mk.

Change-Id: If74da8e54d45511c8c9bb236bcfeec508f4f2439
/frameworks/compile/slang/slang_rs_reflection.cpp