History log of /frameworks/rs/api/GenerateStubsWhiteList.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
5b93491dbe4637bda19a6a16640e8cb842211e67 25-Feb-2016 Pirama Arumuga Nainar <pirama@google.com> Do not test rsForEach and rsForEachWithOptions in the all-api test.


This patch skips both rsForEach and rsForEachWithOptions from the
all-api test.

Change-Id: I270be38a5a4f4e6cd25f42e5000d85b38ea0a4df
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
8ba2310e61702f5d2dd6a30eb2f299c282ab55d6 02-Feb-2016 Yang Ni <yangni@google.com> Avoid casting varargs

Bug: 26912071

The auto generating tool for API should not cast arguments of varargs.
Doing so would be incorrect code in the auto-generated test calls for

Change-Id: I88637b306cd4224e2018f5a0dbc2683b59b86f1f
fab6947a18e00964f79e6c802dc70bbaed981730 11-Nov-2015 Yang Ni <yangni@google.com> Updated spec for the rsForEachInternal API

Bug: 23535985

Missed the spec for rsForEachInternal in previous CLs.
The right prototype is
rsForEachInternal(int, rs_script_call*, int, int, ...)
or mangled as

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
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

Change-Id: I6e2cf3db868f426aa8e0b9a77732b66c1e6b9f03
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

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
4324eec445c6882dce89a24765482293ed31914e 08-Aug-2015 Jean-Luc Brouillet <jeanluc@google.com> Rename ctxt to context.

Rename ctxt to context to be consistent with documentation and our coding
standards that asks us to eschew abbreviations.


Change-Id: Ic8c1c2720276aae60c5d2e3782f4336488ecb61e
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