History log of /frameworks/rs/api/Specification.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3b2be14b4f4e1932f4e67c12d691ca85e937d936 29-Feb-2016 Pirama Arumuga Nainar <pirama@google.com> Extend test generator to generate tests for Float16

http://b/27512382

Extend the test generator to add a short and double field to the
Arguments class for Float16 parameters. Input short values get
converted to double while initializating the Arguments class and output
short values get converted to double before invoking
Target.Floaty.couldBe().

Change-Id: I9848cb4b2ba7b79c5b77d849a4c48e827d24f64c
/frameworks/rs/api/Specification.h
9309a0665a4866f708db9ae67e43b5ea6a27cf27 25-Nov-2015 Dean De Leo <dean@codeplay.com> Fix function mangling of rs_quaternion* arguments in stubs white list.

Fix the generator of the RenderScript header files to allow functions
that take rs_quaternion arguments. Previously they were wrongly mangled
in the RenderScript stubs white list (float* instead of float4*). Factor
out the calculation of vector length from the runtime header generator,
and call it after expanding a typedef to update the vector length. This
way it can calculate the right mangling for a function taking a pointer
to rs_quaternion (which is not itself a vector but the mangling does
need to output a vector length, i.e. Dv4_f). This fix is required by a
following change list, which moves the bodies of the quaternion builtins
to libclcore, so their mangled names are then added to the white list.

(cherry picked from commit 1f08801f894a04d3f9221e7a85a93de1e3215def)

Change-Id: If90d402830631e144afa91d6004f710fead89036
/frameworks/rs/api/Specification.h
43d758c56868560fdd3cdcfeea599819ed037031 13-Nov-2015 Pirama Arumuga Nainar <pirama@google.com> Add helper functions to create allocations

Bug: 23535985

- Adds high-level helper functions such as rsCreateAllocation_char4 etc
to the API.

- To accomplish this, adds "#RST_i" pattern replacement to the
generator. Similar to replacement of #1 with the equivalent parameter
in the spec, the generator now replaces '#RST_i' patterns with the RS
type equivalent of the parameter. For e.g.:

"
...
t: i8, i16 # assume this is the first "replaceable" list in this spec
...
inline:
rsCreateElement(RS_TYPE_#RST_1)
"

will generate
- "rsCreateElement(RS_TYPE_SIGNED_8)" and
- "rsCreateElement(RS_TYPE_SIGNED_16)"
respectively.

Change-Id: I162e3f3b9d89d477bf85e12dd300fd5b949dbd4b
/frameworks/rs/api/Specification.h
12398d81f32e5e0479d02b8608a83c75cd991bb3 18-Sep-2015 Yang Ni <yangni@google.com> Add rsForEachInternal

Bug: 23535985

Added a compiler intrinsic rsParallelFor to the runtime API, which
is translated into an internal API (rsForEachInternal) by slang.

Added a test to RsTest (for native) and RSTest_CompatLib
(for support).

Enhanced the auto api generator to handle ellipsis argument,
intrinsics, internal-only APIs, and special level for API under
development.

Change-Id: I6e2cf3db868f426aa8e0b9a77732b66c1e6b9f03
/frameworks/rs/api/Specification.h
ca51c78b9e3097ee31dd24cdc5982f550ee563d1 26-Aug-2015 Stephen Hines <srhines@google.com> Don't use anonymous literal structures for RS object types.

Bug: 22926131

Using an anonymous structure type prevents us from being able to use
LLVM to determine the actual typename. This is problematic, because
there are some cases where bcc needs to be able to detect/act on RS
object types. Giving each of these structures a legitimate name has no
impact on the generated code (since we are already using typedefs).
This change is also safe for targeting prior Android releases with our
toolchain.

This change also adjusts the API generator to ensure that we can
generate relevant code/docs/tests for handling RS objects. A new
TypeKind is added for RS_OBJECT, instead of using SIMPLE.

Change-Id: Iaff928f5821af66cfc9b3aea2ff5549d0c8a9408
/frameworks/rs/api/Specification.h
36090673baf50cf3c70bdc89f9a4a872c05cf0f6 08-Apr-2015 Jean-Luc Brouillet <jeanluc@google.com> Generate the white list used to validate unresolved externals.

Generate the file used in libbcc to verify that all the unresolved
references found in a loaded script correspond to RenderScript
APIs. We do this to prevent script from accessing functions they
should not use, e.g. malloc().

We also generate slang test files for each API level. These tests
can be used to cross-validate the generator to make sure that all
APIs can be called. These files can also be used to manually check
the white list by looking at the unresolved external references
when these files are compiled.

Change-Id: Idd4bd48e61e81a71d61445e60950bc79de88daf2
/frameworks/rs/api/Specification.h
36e2be56cd398bf4a318114bbc9fa3f4573c158f 30-Apr-2015 Jean-Luc Brouillet <jeanluc@google.com> Generate __attribute__(deprecated) for deprecated APIs.

We allow also a custom deprecation message.

Change-Id: I297bed611c7fbbb34d41e7edd796557c9afe50da
/frameworks/rs/api/Specification.h
67923a9e829d89522bb5338a6d635d807a7ee59b 13-May-2015 Jean-Luc Brouillet <jeanluc@google.com> Obsolete the graphics API in the .rsh files.

Mark the graphics APIs as no longer available starting with version 23.

Modify the generator to change the #ifdef guards around the API to
enable internal code to still access the obsoleted APIs, as we still
neeed to support them at runtime.

Also, include a documentation change in the rs_convert header file that had not
been included previously.

Change-Id: Iaad4833f504da9aa9f5069a977c37b86d1316d3a
/frameworks/rs/api/Specification.h
2217eb7b12e598e5b435a732207647918c171560 24-Apr-2015 Jean-Luc Brouillet <jeanluc@google.com> Update documentation generator to work with the Documentation system.

Also added this flag to the generator:
-H Now that we generate by default .jd files rather than .html files,
you can use this flag to revert to generating .html files. This is
useful when verifying doc changes locally.

And modified the -v flag to specify the API level for all file generation
rather than just the testing files.

Change-Id: Ic9e35ad6779b9fbc6b23228dded2e2be864393ff
/frameworks/rs/api/Specification.h
66fea24fb5f3a02b744a9c71ae0fc22c03c4fc6e 10-Apr-2015 Jean-Luc Brouillet <jeanluc@google.com> Fix a small parsing problem with arguments of type rs_matrix2x2, 3x3, 4x4.

Also fix some style issues and added a missing comment.

Change-Id: Ieaca181453f38f948bc2a5e3d183b264d7215413
/frameworks/rs/api/Specification.h
4a73004df5231d188c41267fee17c566ae7c3631 03-Apr-2015 Jean-Luc Brouillet <jeanluc@google.com> Add "deprecated:" flag to the spec files.

Also cleanup of the documentation found in the header and html files.

Change-Id: I8a606d1af93b0fd0f912ac23aabdb73aa99233b4
/frameworks/rs/api/Specification.h
7c07854a959eb70ff9623202b2ca064407a1cc68 24-Mar-2015 Jean-Luc Brouillet <jeanluc@google.com> Allow specifications for a function to be found in more than one spec file.

To enable the upcoming change that has rsClearOjbect, rsIsObject,
and rsSetObject in two spec files (core & graphics), we need to change
the generator.

Change-Id: I87925dcbe199f11c217907343455b2e8a7a76ed4
/frameworks/rs/api/Specification.h
c5184e202ced435258adb2cfe2013570e7190954 13-Mar-2015 Jean-Luc Brouillet <jeanluc@google.com> Generate all APIs.

This CL expands the generator to create all the .rsh files, not just
the core_math one. To do so, processing of types (simple, struct, enums)
and constants was added. .spec files corresponding to each .rsh file was
created. Documentation was added.

This CL also generates HTML documentation files. This generation will soon
be upgraded.

To make the code easier to expand, I've done fairly extensive refactoring.

In a subsequent CL, the APIs will be regrouped in different header files to
simplify learning the APIs. In an other, the documentation generation will
be futher improved and incorporated in the actual online help.

Also removes rs_path & related functions.

Change-Id: I2c88554c9c6a8625233772b89e055fc6c4ad5da5
/frameworks/rs/api/Specification.h