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
diff --git a/api/rs_graphics.spec b/api/rs_graphics.spec
index af41a28..f5b8096 100644
--- a/api/rs_graphics.spec
+++ b/api/rs_graphics.spec
@@ -117,7 +117,7 @@
type: rs_font
version: 9 22
size: 32
-simple: _RS_HANDLE
+rs_object:
deprecated: 22
summary: Handle to a Font
description:
@@ -129,7 +129,7 @@
type: rs_mesh
version: 9 22
size: 32
-simple: _RS_HANDLE
+rs_object:
deprecated: 22
summary: Handle to a Mesh
description:
@@ -140,7 +140,7 @@
type: rs_program_fragment
version: 9 22
size: 32
-simple: _RS_HANDLE
+rs_object:
deprecated: 22
summary: Handle to a ProgramFragment
description:
@@ -151,7 +151,7 @@
type: rs_program_vertex
version: 9 22
size: 32
-simple: _RS_HANDLE
+rs_object:
deprecated: 22
summary: Handle to a ProgramVertex
description:
@@ -162,7 +162,7 @@
type: rs_program_raster
version: 9 22
size: 32
-simple: _RS_HANDLE
+rs_object:
deprecated: 22
summary: Handle to a ProgramRaster
description:
@@ -173,7 +173,7 @@
type: rs_program_store
version: 9 22
size: 32
-simple: _RS_HANDLE
+rs_object:
deprecated: 22
summary: Handle to a ProgramStore
description: