summaryrefslogtreecommitdiff
path: root/api/GenerateHeaderFiles.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Updated spec for the rsForEachInternal APIYang Ni2015-11-111-1/+1
| | | | | | | | | | | | | | | | | | | Bug: 23535985 Missed the spec for rsForEachInternal in previous CLs. The right prototype is rsForEachInternal(int, rs_script_call*, int, int, ...) or mangled as _Z17rsForEachInternaliP14rs_script_calliiz The bcc whitelist was correctly updated in previous CLs. This is an internal API, therefore header files are not affected. Updated the api generator to handle the new case of ellipsis being used in a C++/overloadable, name-mangled function. Change-Id: Ib6e1341b02eccc64574ebca04c54a7673cb9726e
* Add rsForEachInternalYang Ni2015-10-231-2/+6
| | | | | | | | | | | | | | | | 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
* Don't use anonymous literal structures for RS object types.Stephen Hines2015-09-101-0/+3
| | | | | | | | | | | | | | | | | | 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
* Generate __attribute__(deprecated) for deprecated APIs.Jean-Luc Brouillet2015-05-281-24/+15
| | | | | | We allow also a custom deprecation message. Change-Id: I297bed611c7fbbb34d41e7edd796557c9afe50da
* Obsolete the graphics API in the .rsh files.Jean-Luc Brouillet2015-05-121-14/+27
| | | | | | | | | | | | | 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
* Fix a small parsing problem with arguments of type rs_matrix2x2, 3x3, 4x4.Jean-Luc Brouillet2015-04-091-1/+1
| | | | | | Also fix some style issues and added a missing comment. Change-Id: Ieaca181453f38f948bc2a5e3d183b264d7215413
* Add "deprecated:" flag to the spec files.Jean-Luc Brouillet2015-04-021-6/+14
| | | | | | Also cleanup of the documentation found in the header and html files. Change-Id: I8a606d1af93b0fd0f912ac23aabdb73aa99233b4
* Allow specifications for a function to be found in more than one spec file.Jean-Luc Brouillet2015-03-241-27/+40
| | | | | | | | 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
* Shorten the generated test file names.Jean-Luc Brouillet2015-03-221-4/+4
| | | | | | Also place the generated files in their own directories. Change-Id: I51c1acf15810ec199d17cc2d6e63adebdc0fc3c9
* Generate all APIs.Jean-Luc Brouillet2015-03-201-0/+360
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