rs.spec revision c700e649ca44d0dcff8b271e42d949ea72fe3c63
1326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
2186e59154a0fb86e05e283e9c083b69878c06720Jason SamsContextDestroy {
3186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    direct
4186e59154a0fb86e05e283e9c083b69878c06720Jason Sams}
5186e59154a0fb86e05e283e9c083b69878c06720Jason Sams
6186e59154a0fb86e05e283e9c083b69878c06720Jason SamsContextGetMessage {
7186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    direct
8186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param void *data
9186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param size_t *receiveLen
101a4efa363916977ef9aeab756725b3bdc880a15bJason Sams    param uint32_t *usrID
11186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    ret RsMessageToClientType
12186e59154a0fb86e05e283e9c083b69878c06720Jason Sams}
13186e59154a0fb86e05e283e9c083b69878c06720Jason Sams
14186e59154a0fb86e05e283e9c083b69878c06720Jason SamsContextPeekMessage {
15186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    direct
16186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param size_t *receiveLen
171a4efa363916977ef9aeab756725b3bdc880a15bJason Sams    param uint32_t *usrID
18186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    ret RsMessageToClientType
19186e59154a0fb86e05e283e9c083b69878c06720Jason Sams}
20186e59154a0fb86e05e283e9c083b69878c06720Jason Sams
21186e59154a0fb86e05e283e9c083b69878c06720Jason SamsContextInitToClient {
22186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    direct
23186e59154a0fb86e05e283e9c083b69878c06720Jason Sams}
24186e59154a0fb86e05e283e9c083b69878c06720Jason Sams
25186e59154a0fb86e05e283e9c083b69878c06720Jason SamsContextDeinitToClient {
26186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    direct
27186e59154a0fb86e05e283e9c083b69878c06720Jason Sams}
28186e59154a0fb86e05e283e9c083b69878c06720Jason Sams
29c975cf4a71b63ccbd20f1f3b3341c5f2e6025b45Jason SamsTypeCreate {
30186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    direct
31186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param RsElement e
32186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param uint32_t dimX
33186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param uint32_t dimY
34186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param uint32_t dimZ
35186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param bool mips
36186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param bool faces
37186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    ret RsType
38186e59154a0fb86e05e283e9c083b69878c06720Jason Sams}
39186e59154a0fb86e05e283e9c083b69878c06720Jason Sams
40c975cf4a71b63ccbd20f1f3b3341c5f2e6025b45Jason SamsAllocationCreateTyped {
41186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    direct
42186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param RsType vtype
43186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param RsAllocationMipmapControl mips
44186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param uint32_t usages
45186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    ret RsAllocation
46186e59154a0fb86e05e283e9c083b69878c06720Jason Sams}
47186e59154a0fb86e05e283e9c083b69878c06720Jason Sams
48c975cf4a71b63ccbd20f1f3b3341c5f2e6025b45Jason SamsAllocationCreateFromBitmap {
49186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    direct
50186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param RsType vtype
51186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param RsAllocationMipmapControl mips
52186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param const void *data
53186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param uint32_t usages
54186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    ret RsAllocation
55186e59154a0fb86e05e283e9c083b69878c06720Jason Sams}
56186e59154a0fb86e05e283e9c083b69878c06720Jason Sams
57c975cf4a71b63ccbd20f1f3b3341c5f2e6025b45Jason SamsAllocationCubeCreateFromBitmap {
58186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    direct
59186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param RsType vtype
60186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param RsAllocationMipmapControl mips
61186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param const void *data
62186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param uint32_t usages
63186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    ret RsAllocation
64186e59154a0fb86e05e283e9c083b69878c06720Jason Sams}
65186e59154a0fb86e05e283e9c083b69878c06720Jason Sams
66186e59154a0fb86e05e283e9c083b69878c06720Jason Sams
67186e59154a0fb86e05e283e9c083b69878c06720Jason Sams
688c88090e8cccab103eebe2ff569e116e9f5fb208Jason SamsContextFinish {
691a4efa363916977ef9aeab756725b3bdc880a15bJason Sams	sync
708c88090e8cccab103eebe2ff569e116e9f5fb208Jason Sams	}
71326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
72326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsContextBindRootScript {
73326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsScript sampler
74326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
75326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
76ccc010bb7c0f89e162bf60033968a20be90a903aJason SamsContextBindProgramStore {
77ccc010bb7c0f89e162bf60033968a20be90a903aJason Sams	param RsProgramStore pgm
78326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
79326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
80326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsContextBindProgramFragment {
81326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsProgramFragment pgm
82326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
83326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
84326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsContextBindProgramVertex {
85326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsProgramVertex pgm
86326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
87326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
885fd09d847586f9680b4f495413b6ca5fbb69af6eJason SamsContextBindProgramRaster {
895fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param RsProgramRaster pgm
905fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	}
915fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams
92d3e0ad43dc758c409fc23d1893dab67b18520c24Alex SakhartchoukContextBindFont {
93d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk	param RsFont pgm
94d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk	}
95d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk
9686f1b23aaaf9b8822a009d8c3e585e46768abb6aJason SamsContextPause {
9786f1b23aaaf9b8822a009d8c3e585e46768abb6aJason Sams	}
9886f1b23aaaf9b8822a009d8c3e585e46768abb6aJason Sams
9986f1b23aaaf9b8822a009d8c3e585e46768abb6aJason SamsContextResume {
10086f1b23aaaf9b8822a009d8c3e585e46768abb6aJason Sams	}
10186f1b23aaaf9b8822a009d8c3e585e46768abb6aJason Sams
102458f2dc26b7d34c2138c7bfbd95914240084e6bdJason SamsContextSetSurface {
103613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason Sams	param uint32_t width
104613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason Sams	param uint32_t height
1057257c7ee4b66f00c43d9235f3ac600061ae79968Alex Sakhartchouk	param RsNativeWindow sur
106c33e6903d25b9cd9d88f45c7320534a5a05c9064Jason Sams        sync
107458f2dc26b7d34c2138c7bfbd95914240084e6bdJason Sams	}
108458f2dc26b7d34c2138c7bfbd95914240084e6bdJason Sams
109c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason SamsContextDump {
110c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason Sams	param int32_t bits
111c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason Sams}
112c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason Sams
113613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason SamsContextSetPriority {
114158324456b8dbf40f684dd0a4af3493b9549f3f5Jason Sams	param int32_t priority
115613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason Sams	}
116613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason Sams
117741aac95b777b2e6cb90f484a05e489a79a6ef05Jason SamsContextDestroyWorker {
1181dcefab7178f0644b0e0a6998007b1acae5261cfJason Sams}
1191dcefab7178f0644b0e0a6998007b1acae5261cfJason Sams
120a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason SamsAssignName {
12170b83c111beceaf8fbb700580833e7fec99272cfAlex Sakhartchouk	param RsObjectBase obj
122a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason Sams	param const char *name
123a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason Sams	}
124326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
125707aaf341a4b068e6ccadf923af85acdd85fd775Jason SamsObjDestroy {
1262353ae303868d04e3a26002b2f2dc456c15e8170Jason Sams	param RsAsyncVoidPtr objPtr
127707aaf341a4b068e6ccadf923af85acdd85fd775Jason Sams	}
128707aaf341a4b068e6ccadf923af85acdd85fd775Jason Sams
129d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason SamsElementCreate {
130c700e649ca44d0dcff8b271e42d949ea72fe3c63Alex Sakhartchouk        direct
131d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams	param RsDataType mType
132d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams	param RsDataKind mKind
133d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams	param bool mNormalized
134d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams	param uint32_t mVectorSize
135d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams	ret RsElement
136326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
137326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
138d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason SamsElementCreate2 {
139c700e649ca44d0dcff8b271e42d949ea72fe3c63Alex Sakhartchouk        direct
140d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams	param const RsElement * elements
141d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams	param const char ** names
14246e45548dc80e801139c9ccc2f2aa927e7f35027Jason Sams	param const uint32_t * arraySize
143326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsElement
144326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
145326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
146837e388700a48084489ba59d1d8cc5ece68b1535Jason SamsAllocationCopyToBitmap {
147837e388700a48084489ba59d1d8cc5ece68b1535Jason Sams	param RsAllocation alloc
148837e388700a48084489ba59d1d8cc5ece68b1535Jason Sams	param void * data
14939f2ef6fed00a99c5c389e12c4597884027d4858Alex Sakhartchouk	}
15039f2ef6fed00a99c5c389e12c4597884027d4858Alex Sakhartchouk
151326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
1524b45b8998e0d7038efaea80c70d23c086640b4e3Jason SamsAllocation1DData {
153326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation va
154326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t xoff
1554b45b8998e0d7038efaea80c70d23c086640b4e3Jason Sams	param uint32_t lod
156326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t count
157326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param const void *data
158d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams	}
159326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
1604b45b8998e0d7038efaea80c70d23c086640b4e3Jason SamsAllocation1DElementData {
1615f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	param RsAllocation va
1625f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	param uint32_t x
1634b45b8998e0d7038efaea80c70d23c086640b4e3Jason Sams	param uint32_t lod
1645f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	param const void *data
1655f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	param uint32_t comp_offset
1665f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	}
1675f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams
1684b45b8998e0d7038efaea80c70d23c086640b4e3Jason SamsAllocation2DData {
169326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation va
170326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t xoff
171326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t yoff
1724b45b8998e0d7038efaea80c70d23c086640b4e3Jason Sams	param uint32_t lod
1734b45b8998e0d7038efaea80c70d23c086640b4e3Jason Sams	param RsAllocationCubemapFace face
174326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t w
175326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t h
176326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param const void *data
177326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
178326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
1794b45b8998e0d7038efaea80c70d23c086640b4e3Jason SamsAllocation2DElementData {
1805f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	param RsAllocation va
1815f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	param uint32_t x
1825f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	param uint32_t y
1834b45b8998e0d7038efaea80c70d23c086640b4e3Jason Sams	param uint32_t lod
1844b45b8998e0d7038efaea80c70d23c086640b4e3Jason Sams	param RsAllocationCubemapFace face
1855f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	param const void *data
1865f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	param uint32_t element_offset
1875f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	}
1885f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams
189a23715148f7bda74e904fc553b70c9a49fd52a6eJason SamsAllocationGenerateMipmaps {
190a23715148f7bda74e904fc553b70c9a49fd52a6eJason Sams	param RsAllocation va
191a23715148f7bda74e904fc553b70c9a49fd52a6eJason Sams}
192a23715148f7bda74e904fc553b70c9a49fd52a6eJason Sams
193e579df42e85d9e00f53c42ef1b78dbd209dba989Jason SamsAllocationRead {
194e579df42e85d9e00f53c42ef1b78dbd209dba989Jason Sams	param RsAllocation va
195e579df42e85d9e00f53c42ef1b78dbd209dba989Jason Sams	param void * data
196e579df42e85d9e00f53c42ef1b78dbd209dba989Jason Sams	}
197326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
198366c9c85196675437a8dd74c1cf6b63ddbde3d6aJason SamsAllocationSyncAll {
199366c9c85196675437a8dd74c1cf6b63ddbde3d6aJason Sams	param RsAllocation va
200366c9c85196675437a8dd74c1cf6b63ddbde3d6aJason Sams	param RsAllocationUsageType src
201366c9c85196675437a8dd74c1cf6b63ddbde3d6aJason Sams}
202366c9c85196675437a8dd74c1cf6b63ddbde3d6aJason Sams
203326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
20496abf819e50b59ba8cf886c13f894633eb0a24baJason SamsAllocationResize1D {
20596abf819e50b59ba8cf886c13f894633eb0a24baJason Sams	param RsAllocation va
20696abf819e50b59ba8cf886c13f894633eb0a24baJason Sams	param uint32_t dimX
20796abf819e50b59ba8cf886c13f894633eb0a24baJason Sams	}
20896abf819e50b59ba8cf886c13f894633eb0a24baJason Sams
20996abf819e50b59ba8cf886c13f894633eb0a24baJason SamsAllocationResize2D {
21096abf819e50b59ba8cf886c13f894633eb0a24baJason Sams	param RsAllocation va
21196abf819e50b59ba8cf886c13f894633eb0a24baJason Sams	param uint32_t dimX
21296abf819e50b59ba8cf886c13f894633eb0a24baJason Sams	param uint32_t dimY
21396abf819e50b59ba8cf886c13f894633eb0a24baJason Sams	}
21496abf819e50b59ba8cf886c13f894633eb0a24baJason Sams
21574a827988567a9d65954bb0d825a3ba4a97e2947Alex SakhartchoukAllocationCopy2DRange {
21674a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk	param RsAllocation dest
21774a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk	param uint32_t destXoff
21874a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk	param uint32_t destYoff
21974a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk	param uint32_t destMip
22074a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk	param uint32_t destFace
22174a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk	param uint32_t width
22274a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk	param uint32_t height
22374a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk	param RsAllocation src
22474a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk	param uint32_t srcXoff
22574a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk	param uint32_t srcYoff
22674a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk	param uint32_t srcMip
22774a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk	param uint32_t srcFace
22874a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk	}
22974a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk
230326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsSamplerCreate {
231c700e649ca44d0dcff8b271e42d949ea72fe3c63Alex Sakhartchouk    direct
232c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    param RsSamplerValue magFilter
233c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    param RsSamplerValue minFilter
234c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    param RsSamplerValue wrapS
235c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    param RsSamplerValue wrapT
236c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    param RsSamplerValue wrapR
237c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    param float mAniso
238c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    ret RsSampler
239c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk}
240326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
241326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptBindAllocation {
242326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsScript vtm
243326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation va
244326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t slot
245326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
246326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
247d34b725ac1752f5a234c7643a0b65245591ea1ccJason SamsScriptSetTimeZone {
248d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams	param RsScript s
24998e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy	param const char * timeZone
25098e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy	}
25198e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy
252be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptInvoke {
253be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	param RsScript s
254fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams	param uint32_t slot
255326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
256326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
257be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptInvokeV {
2588c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams	param RsScript s
2598c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams	param uint32_t slot
260be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	param const void * data
2618c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams	}
2628c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams
263c2c02a88641620f50a69cc174077ac8bbef40478Alex SakhartchoukScriptForEach {
2645fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams    param RsScript s
2655fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams    param uint32_t slot
2665fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams    param RsAllocation ain
2675fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams    param RsAllocation aout
2685fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams    param const void * usr
2695fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams}
2705fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams
271be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptSetVarI {
272be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	param RsScript s
273be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	param uint32_t slot
274be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	param int value
275be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	}
276be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams
277a5eb6e17c08426deeedf989d6be280d89662ee82Jason SamsScriptSetVarObj {
278a5eb6e17c08426deeedf989d6be280d89662ee82Jason Sams	param RsScript s
279a5eb6e17c08426deeedf989d6be280d89662ee82Jason Sams	param uint32_t slot
280a5eb6e17c08426deeedf989d6be280d89662ee82Jason Sams	param RsObjectBase value
281a5eb6e17c08426deeedf989d6be280d89662ee82Jason Sams	}
282a5eb6e17c08426deeedf989d6be280d89662ee82Jason Sams
2830977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen HinesScriptSetVarJ {
2840977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen Hines	param RsScript s
2850977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen Hines	param uint32_t slot
2860977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen Hines	param int64_t value
2870977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen Hines	}
2880977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen Hines
289be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptSetVarF {
290be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	param RsScript s
291be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	param uint32_t slot
292be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	param float value
293be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	}
294be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams
2956d0a0740530d57e2a5759df994352600946ff47dStephen HinesScriptSetVarD {
2966d0a0740530d57e2a5759df994352600946ff47dStephen Hines	param RsScript s
2976d0a0740530d57e2a5759df994352600946ff47dStephen Hines	param uint32_t slot
2986d0a0740530d57e2a5759df994352600946ff47dStephen Hines	param double value
2996d0a0740530d57e2a5759df994352600946ff47dStephen Hines	}
3006d0a0740530d57e2a5759df994352600946ff47dStephen Hines
301be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptSetVarV {
302be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	param RsScript s
303be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	param uint32_t slot
304be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	param const void * data
305be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	}
306fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams
307fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams
308326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptCCreate {
3099503b66e5329703535f7cc71a0755e6f3b1e39a6Shih-wei Liao        param const char * resName
31015849d9a926fbd83587b9da30b8888574998a0fdShih-wei Liao        param const char * cacheDir
311bad807405b2b9764372af1ad24bcfd4fb1f33d8eJason Sams	param const char * text
312326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsScript
313326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
314326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
315326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
316721acc495b859c6d884725a4f9b5523583dd11c7Jason SamsProgramStoreCreate {
317c700e649ca44d0dcff8b271e42d949ea72fe3c63Alex Sakhartchouk	direct
318721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams	param bool colorMaskR
319721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams	param bool colorMaskG
320721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams	param bool colorMaskB
321721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams	param bool colorMaskA
322721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams        param bool depthMask
323721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams        param bool ditherEnable
324326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsBlendSrcFunc srcFunc
325326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsBlendDstFunc destFunc
326721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams        param RsDepthFunc depthFunc
327ccc010bb7c0f89e162bf60033968a20be90a903aJason Sams	ret RsProgramStore
328326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
329326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
3305fd09d847586f9680b4f495413b6ca5fbb69af6eJason SamsProgramRasterCreate {
331c700e649ca44d0dcff8b271e42d949ea72fe3c63Alex Sakhartchouk	direct
3325fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param bool pointSmooth
3335fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param bool lineSmooth
3345fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param bool pointSprite
335721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams	param float lineWidth
336721acc495b859c6d884725a4f9b5523583dd11c7Jason Sams	param RsCullMode cull
3375fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	ret RsProgramRaster
3385fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams}
3395fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams
3404815c0d121310cfcd6a8aba4eab77a9910af53acJason SamsProgramBindConstants {
3414815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams	param RsProgram vp
3424815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams	param uint32_t slot
3434815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams	param RsAllocation constants
3444815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams	}
3454815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams
346f2a5d7326b38e5a28b6618f9b1e5a021aef7179fJason Sams
3477dad9c30a59c99b57269e1b498807b6f034d56e9Jason SamsProgramBindTexture {
348326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsProgramFragment pf
349326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t slot
350326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation a
351326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
352326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
3537dad9c30a59c99b57269e1b498807b6f034d56e9Jason SamsProgramBindSampler {
354326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsProgramFragment pf
355326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t slot
356326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsSampler s
357326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
358326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
359326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentCreate {
360c700e649ca44d0dcff8b271e42d949ea72fe3c63Alex Sakhartchouk	direct
361f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams	param const char * shaderText
362f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams	param const uint32_t * params
363f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams	ret RsProgramFragment
364f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams	}
365f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams
366326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramVertexCreate {
367c700e649ca44d0dcff8b271e42d949ea72fe3c63Alex Sakhartchouk	direct
3684815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams	param const char * shaderText
3694815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams	param const uint32_t * params
370f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams	ret RsProgramVertex
371b5909ce06dd10dcb5ac715572a05b2d225b77c98Jason Sams	}
372b5909ce06dd10dcb5ac715572a05b2d225b77c98Jason Sams
3735224a27798f89093b13722b41143551a057ce550Alex SakhartchoukFontCreateFromFile {
374a5597fcd411badad50c1345b3eca26453da45bbbJason Sams	param const char *name
3755224a27798f89093b13722b41143551a057ce550Alex Sakhartchouk	param float fontSize
3765224a27798f89093b13722b41143551a057ce550Alex Sakhartchouk	param uint32_t dpi
3775224a27798f89093b13722b41143551a057ce550Alex Sakhartchouk	ret RsFont
378a5597fcd411badad50c1345b3eca26453da45bbbJason Sams	}
379a5597fcd411badad50c1345b3eca26453da45bbbJason Sams
3805224a27798f89093b13722b41143551a057ce550Alex SakhartchoukFontCreateFromMemory {
381d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk	param const char *name
382c17ace2391783dcabc6c1482edf0362654fd83e5Alex Sakhartchouk	param float fontSize
383d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk	param uint32_t dpi
38470b83c111beceaf8fbb700580833e7fec99272cfAlex Sakhartchouk	param const void *data
385d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk	ret RsFont
386d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk	}
387d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk
3884e9a7a8ded109e16b163789274899447cef02642Alex SakhartchoukMeshCreate {
3899003e5674fb3b2a1442cd0cca899fdc3246debf8Alex Sakhartchouk	param RsAllocation *vtx
3909003e5674fb3b2a1442cd0cca899fdc3246debf8Alex Sakhartchouk	param RsAllocation *idx
3919003e5674fb3b2a1442cd0cca899fdc3246debf8Alex Sakhartchouk	param uint32_t *primType
3924e9a7a8ded109e16b163789274899447cef02642Alex Sakhartchouk	ret RsMesh
3934e9a7a8ded109e16b163789274899447cef02642Alex Sakhartchouk	}
394