rs.spec revision a23715148f7bda74e904fc553b70c9a49fd52a6e
1326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
28c88090e8cccab103eebe2ff569e116e9f5fb208Jason SamsContextFinish {
38c88090e8cccab103eebe2ff569e116e9f5fb208Jason Sams	handcodeApi
48c88090e8cccab103eebe2ff569e116e9f5fb208Jason Sams	}
5326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
6326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsContextBindRootScript {
7326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsScript sampler
8326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
9326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
10ccc010bb7c0f89e162bf60033968a20be90a903aJason SamsContextBindProgramStore {
11ccc010bb7c0f89e162bf60033968a20be90a903aJason Sams	param RsProgramStore pgm
12326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
13326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
14326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsContextBindProgramFragment {
15326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsProgramFragment pgm
16326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
17326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
18326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsContextBindProgramVertex {
19326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsProgramVertex pgm
20326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
21326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
225fd09d847586f9680b4f495413b6ca5fbb69af6eJason SamsContextBindProgramRaster {
235fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param RsProgramRaster pgm
245fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	}
255fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams
26d3e0ad43dc758c409fc23d1893dab67b18520c24Alex SakhartchoukContextBindFont {
27d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk	param RsFont pgm
28d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk	}
29d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk
3086f1b23aaaf9b8822a009d8c3e585e46768abb6aJason SamsContextPause {
3186f1b23aaaf9b8822a009d8c3e585e46768abb6aJason Sams	}
3286f1b23aaaf9b8822a009d8c3e585e46768abb6aJason Sams
3386f1b23aaaf9b8822a009d8c3e585e46768abb6aJason SamsContextResume {
3486f1b23aaaf9b8822a009d8c3e585e46768abb6aJason Sams	}
3586f1b23aaaf9b8822a009d8c3e585e46768abb6aJason Sams
36458f2dc26b7d34c2138c7bfbd95914240084e6bdJason SamsContextSetSurface {
37613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason Sams	param uint32_t width
38613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason Sams	param uint32_t height
391c769c3d0e5f08e78ecdb4508c6bc69fcb69bfa8Dianne Hackborn	param ANativeWindow *sur
40458f2dc26b7d34c2138c7bfbd95914240084e6bdJason Sams	}
41458f2dc26b7d34c2138c7bfbd95914240084e6bdJason Sams
42c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason SamsContextDump {
43c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason Sams	param int32_t bits
44c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason Sams}
45c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason Sams
46613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason SamsContextSetPriority {
47158324456b8dbf40f684dd0a4af3493b9549f3f5Jason Sams	param int32_t priority
48613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason Sams	}
49613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason Sams
50741aac95b777b2e6cb90f484a05e489a79a6ef05Jason SamsContextDestroyWorker {
511dcefab7178f0644b0e0a6998007b1acae5261cfJason Sams}
521dcefab7178f0644b0e0a6998007b1acae5261cfJason Sams
53a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason SamsAssignName {
54a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason Sams	param void *obj
55a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason Sams	param const char *name
56a4a54e42fc710a62b47cbcb9d64c34a190429d9eJason Sams	param size_t len
57a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason Sams	}
58326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
59707aaf341a4b068e6ccadf923af85acdd85fd775Jason SamsObjDestroy {
602353ae303868d04e3a26002b2f2dc456c15e8170Jason Sams	param RsAsyncVoidPtr objPtr
61707aaf341a4b068e6ccadf923af85acdd85fd775Jason Sams	}
62707aaf341a4b068e6ccadf923af85acdd85fd775Jason Sams
63d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason SamsElementCreate {
64d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams	param RsDataType mType
65d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams	param RsDataKind mKind
66d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams	param bool mNormalized
67d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams	param uint32_t mVectorSize
68d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams	ret RsElement
69326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
70326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
71d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason SamsElementCreate2 {
72d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams	param size_t count
73d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams	param const RsElement * elements
74d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams	param const char ** names
75d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason Sams	param const size_t * nameLengths
7646e45548dc80e801139c9ccc2f2aa927e7f35027Jason Sams	param const uint32_t * arraySize
77326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsElement
78326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
79326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
80837e388700a48084489ba59d1d8cc5ece68b1535Jason SamsAllocationCopyToBitmap {
81837e388700a48084489ba59d1d8cc5ece68b1535Jason Sams	param RsAllocation alloc
82837e388700a48084489ba59d1d8cc5ece68b1535Jason Sams	param void * data
83837e388700a48084489ba59d1d8cc5ece68b1535Jason Sams	param size_t dataLen
8439f2ef6fed00a99c5c389e12c4597884027d4858Alex Sakhartchouk	}
8539f2ef6fed00a99c5c389e12c4597884027d4858Alex Sakhartchouk
86326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
874b45b8998e0d7038efaea80c70d23c086640b4e3Jason SamsAllocation1DData {
88326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation va
89326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t xoff
904b45b8998e0d7038efaea80c70d23c086640b4e3Jason Sams	param uint32_t lod
91326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t count
92326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param const void *data
939397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams	param uint32_t bytes
949397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams	handcodeApi
959397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams	togglePlay
96d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams	}
97326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
984b45b8998e0d7038efaea80c70d23c086640b4e3Jason SamsAllocation1DElementData {
995f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	param RsAllocation va
1005f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	param uint32_t x
1014b45b8998e0d7038efaea80c70d23c086640b4e3Jason Sams	param uint32_t lod
1025f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	param const void *data
1035f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	param uint32_t comp_offset
1045f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	param uint32_t bytes
1055f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	handcodeApi
1065f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	togglePlay
1075f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	}
1085f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams
1094b45b8998e0d7038efaea80c70d23c086640b4e3Jason SamsAllocation2DData {
110326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation va
111326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t xoff
112326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t yoff
1134b45b8998e0d7038efaea80c70d23c086640b4e3Jason Sams	param uint32_t lod
1144b45b8998e0d7038efaea80c70d23c086640b4e3Jason Sams	param RsAllocationCubemapFace face
115326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t w
116326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t h
117326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param const void *data
1189397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams	param uint32_t bytes
119326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
120326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
1214b45b8998e0d7038efaea80c70d23c086640b4e3Jason SamsAllocation2DElementData {
1225f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	param RsAllocation va
1235f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	param uint32_t x
1245f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	param uint32_t y
1254b45b8998e0d7038efaea80c70d23c086640b4e3Jason Sams	param uint32_t lod
1264b45b8998e0d7038efaea80c70d23c086640b4e3Jason Sams	param RsAllocationCubemapFace face
1275f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	param const void *data
1285f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	param uint32_t element_offset
1295f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	param uint32_t bytes
1305f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams	}
1315f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams
132a23715148f7bda74e904fc553b70c9a49fd52a6eJason SamsAllocationGenerateMipmaps {
133a23715148f7bda74e904fc553b70c9a49fd52a6eJason Sams	param RsAllocation va
134a23715148f7bda74e904fc553b70c9a49fd52a6eJason Sams}
135a23715148f7bda74e904fc553b70c9a49fd52a6eJason Sams
136e579df42e85d9e00f53c42ef1b78dbd209dba989Jason SamsAllocationRead {
137e579df42e85d9e00f53c42ef1b78dbd209dba989Jason Sams	param RsAllocation va
138e579df42e85d9e00f53c42ef1b78dbd209dba989Jason Sams	param void * data
139e579df42e85d9e00f53c42ef1b78dbd209dba989Jason Sams	}
140326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
141366c9c85196675437a8dd74c1cf6b63ddbde3d6aJason SamsAllocationSyncAll {
142366c9c85196675437a8dd74c1cf6b63ddbde3d6aJason Sams	param RsAllocation va
143366c9c85196675437a8dd74c1cf6b63ddbde3d6aJason Sams	param RsAllocationUsageType src
144366c9c85196675437a8dd74c1cf6b63ddbde3d6aJason Sams}
145366c9c85196675437a8dd74c1cf6b63ddbde3d6aJason Sams
146326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
14796abf819e50b59ba8cf886c13f894633eb0a24baJason SamsAllocationResize1D {
14896abf819e50b59ba8cf886c13f894633eb0a24baJason Sams	param RsAllocation va
14996abf819e50b59ba8cf886c13f894633eb0a24baJason Sams	param uint32_t dimX
15096abf819e50b59ba8cf886c13f894633eb0a24baJason Sams	}
15196abf819e50b59ba8cf886c13f894633eb0a24baJason Sams
15296abf819e50b59ba8cf886c13f894633eb0a24baJason SamsAllocationResize2D {
15396abf819e50b59ba8cf886c13f894633eb0a24baJason Sams	param RsAllocation va
15496abf819e50b59ba8cf886c13f894633eb0a24baJason Sams	param uint32_t dimX
15596abf819e50b59ba8cf886c13f894633eb0a24baJason Sams	param uint32_t dimY
15696abf819e50b59ba8cf886c13f894633eb0a24baJason Sams	}
15796abf819e50b59ba8cf886c13f894633eb0a24baJason Sams
158326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsSamplerBegin {
159326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
160326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
161326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsSamplerSet {
162326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsSamplerParam p
163326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsSamplerValue value
164326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
165326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
1661103d8eade6af4f373ba143752cab2344893babfAlex SakhartchoukSamplerSet2 {
1671103d8eade6af4f373ba143752cab2344893babfAlex Sakhartchouk	param RsSamplerParam p
1681103d8eade6af4f373ba143752cab2344893babfAlex Sakhartchouk	param float value
1691103d8eade6af4f373ba143752cab2344893babfAlex Sakhartchouk	}
1701103d8eade6af4f373ba143752cab2344893babfAlex Sakhartchouk
171326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsSamplerCreate {
172326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsSampler
173326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
174326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
175326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
176326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
177326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptBindAllocation {
178326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsScript vtm
179326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation va
180326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t slot
181326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
182326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
183326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
184326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptCBegin {
185326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
186326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
187326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
188d34b725ac1752f5a234c7643a0b65245591ea1ccJason SamsScriptSetTimeZone {
189d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams	param RsScript s
19098e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy	param const char * timeZone
19198e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy	param uint32_t length
19298e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy	}
19398e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy
194be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams
195be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptInvoke {
196be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	param RsScript s
197fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams	param uint32_t slot
198326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
199326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
200be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptInvokeV {
2018c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams	param RsScript s
2028c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams	param uint32_t slot
203be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	param const void * data
204be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	param uint32_t dataLen
205be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	handcodeApi
206be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	togglePlay
2078c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams	}
2088c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams
209be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptSetVarI {
210be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	param RsScript s
211be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	param uint32_t slot
212be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	param int value
213be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	}
214be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams
215a5eb6e17c08426deeedf989d6be280d89662ee82Jason SamsScriptSetVarObj {
216a5eb6e17c08426deeedf989d6be280d89662ee82Jason Sams	param RsScript s
217a5eb6e17c08426deeedf989d6be280d89662ee82Jason Sams	param uint32_t slot
218a5eb6e17c08426deeedf989d6be280d89662ee82Jason Sams	param RsObjectBase value
219a5eb6e17c08426deeedf989d6be280d89662ee82Jason Sams	}
220a5eb6e17c08426deeedf989d6be280d89662ee82Jason Sams
2210977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen HinesScriptSetVarJ {
2220977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen Hines	param RsScript s
2230977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen Hines	param uint32_t slot
2240977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen Hines	param int64_t value
2250977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen Hines	}
2260977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen Hines
227be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptSetVarF {
228be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	param RsScript s
229be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	param uint32_t slot
230be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	param float value
231be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	}
232be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams
2336d0a0740530d57e2a5759df994352600946ff47dStephen HinesScriptSetVarD {
2346d0a0740530d57e2a5759df994352600946ff47dStephen Hines	param RsScript s
2356d0a0740530d57e2a5759df994352600946ff47dStephen Hines	param uint32_t slot
2366d0a0740530d57e2a5759df994352600946ff47dStephen Hines	param double value
2376d0a0740530d57e2a5759df994352600946ff47dStephen Hines	}
2386d0a0740530d57e2a5759df994352600946ff47dStephen Hines
239be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptSetVarV {
240be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	param RsScript s
241be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	param uint32_t slot
242be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	param const void * data
243be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	param uint32_t dataLen
244be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	handcodeApi
245be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	togglePlay
246be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams	}
247fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams
248fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams
2491f52633fefd1862451e6a30209d590680d02beecJason SamsScriptCSetText {
2501f52633fefd1862451e6a30209d590680d02beecJason Sams	param const char * text
2511f52633fefd1862451e6a30209d590680d02beecJason Sams	param uint32_t length
2521f52633fefd1862451e6a30209d590680d02beecJason Sams	}
2531f52633fefd1862451e6a30209d590680d02beecJason Sams
254326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptCCreate {
255ce8a079bd4d296f9f1a24d7a5808d57f71dfc2e4Shih-wei Liao        param const char * packageName
2569503b66e5329703535f7cc71a0755e6f3b1e39a6Shih-wei Liao        param const char * resName
25715849d9a926fbd83587b9da30b8888574998a0fdShih-wei Liao        param const char * cacheDir
258326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsScript
259326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
260326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
261326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
262ccc010bb7c0f89e162bf60033968a20be90a903aJason SamsProgramStoreBegin {
263326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsElement in
264326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsElement out
265326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
266326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
267ccc010bb7c0f89e162bf60033968a20be90a903aJason SamsProgramStoreColorMask {
268326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool r
269326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool g
270326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool b
271326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool a
272326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
273326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
274ccc010bb7c0f89e162bf60033968a20be90a903aJason SamsProgramStoreBlendFunc {
275326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsBlendSrcFunc srcFunc
276326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsBlendDstFunc destFunc
277326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
278326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
279ccc010bb7c0f89e162bf60033968a20be90a903aJason SamsProgramStoreDepthMask {
280326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool enable
281326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams}
282326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
283ccc010bb7c0f89e162bf60033968a20be90a903aJason SamsProgramStoreDither {
284326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool enable
285326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams}
286326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
287ccc010bb7c0f89e162bf60033968a20be90a903aJason SamsProgramStoreDepthFunc {
288326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsDepthFunc func
289326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams}
290326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
291ccc010bb7c0f89e162bf60033968a20be90a903aJason SamsProgramStoreCreate {
292ccc010bb7c0f89e162bf60033968a20be90a903aJason Sams	ret RsProgramStore
293326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
294326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
2955fd09d847586f9680b4f495413b6ca5fbb69af6eJason SamsProgramRasterCreate {
2965fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param bool pointSmooth
2975fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param bool lineSmooth
2985fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param bool pointSprite
2995fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	ret RsProgramRaster
3005fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams}
3015fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams
3025fd09d847586f9680b4f495413b6ca5fbb69af6eJason SamsProgramRasterSetLineWidth {
3035fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param RsProgramRaster pr
3045fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param float lw
3055fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams}
3065fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams
307d18c744a37441311c9b65254a35db456835adad3Alex SakhartchoukProgramRasterSetCullMode {
308d18c744a37441311c9b65254a35db456835adad3Alex Sakhartchouk	param RsProgramRaster pr
309d18c744a37441311c9b65254a35db456835adad3Alex Sakhartchouk	param RsCullMode mode
310d18c744a37441311c9b65254a35db456835adad3Alex Sakhartchouk}
311326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
3124815c0d121310cfcd6a8aba4eab77a9910af53acJason SamsProgramBindConstants {
3134815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams	param RsProgram vp
3144815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams	param uint32_t slot
3154815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams	param RsAllocation constants
3164815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams	}
3174815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams
318f2a5d7326b38e5a28b6618f9b1e5a021aef7179fJason Sams
3197dad9c30a59c99b57269e1b498807b6f034d56e9Jason SamsProgramBindTexture {
320326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsProgramFragment pf
321326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t slot
322326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation a
323326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
324326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
3257dad9c30a59c99b57269e1b498807b6f034d56e9Jason SamsProgramBindSampler {
326326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsProgramFragment pf
327326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t slot
328326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsSampler s
329326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
330326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
331326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentCreate {
332f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams	param const char * shaderText
333f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams	param uint32_t shaderLength
334f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams	param const uint32_t * params
335f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams	param uint32_t paramLength
336f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams	ret RsProgramFragment
337f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams	}
338f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams
339326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramVertexCreate {
3404815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams	param const char * shaderText
3414815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams	param uint32_t shaderLength
3424815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams	param const uint32_t * params
3434815c0d121310cfcd6a8aba4eab77a9910af53acJason Sams	param uint32_t paramLength
344f2e4fa215c420cf0f8d226e9a59acb1f312e5e40Jason Sams	ret RsProgramVertex
345b5909ce06dd10dcb5ac715572a05b2d225b77c98Jason Sams	}
346b5909ce06dd10dcb5ac715572a05b2d225b77c98Jason Sams
3475224a27798f89093b13722b41143551a057ce550Alex SakhartchoukFontCreateFromFile {
348a5597fcd411badad50c1345b3eca26453da45bbbJason Sams	param const char *name
3495224a27798f89093b13722b41143551a057ce550Alex Sakhartchouk	param float fontSize
3505224a27798f89093b13722b41143551a057ce550Alex Sakhartchouk	param uint32_t dpi
3515224a27798f89093b13722b41143551a057ce550Alex Sakhartchouk	ret RsFont
352a5597fcd411badad50c1345b3eca26453da45bbbJason Sams	}
353a5597fcd411badad50c1345b3eca26453da45bbbJason Sams
3545224a27798f89093b13722b41143551a057ce550Alex SakhartchoukFontCreateFromMemory {
355d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk	param const char *name
356c17ace2391783dcabc6c1482edf0362654fd83e5Alex Sakhartchouk	param float fontSize
357d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk	param uint32_t dpi
3585224a27798f89093b13722b41143551a057ce550Alex Sakhartchouk    param const void *data
3595224a27798f89093b13722b41143551a057ce550Alex Sakhartchouk    param uint32_t dataLen
360d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk	ret RsFont
361d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk	}
362d3e0ad43dc758c409fc23d1893dab67b18520c24Alex Sakhartchouk
3634e9a7a8ded109e16b163789274899447cef02642Alex SakhartchoukMeshCreate {
3644e9a7a8ded109e16b163789274899447cef02642Alex Sakhartchouk	ret RsMesh
3654e9a7a8ded109e16b163789274899447cef02642Alex Sakhartchouk	param uint32_t vtxCount
3664e9a7a8ded109e16b163789274899447cef02642Alex Sakhartchouk	param uint32_t idxCount
3674e9a7a8ded109e16b163789274899447cef02642Alex Sakhartchouk	}
3684e9a7a8ded109e16b163789274899447cef02642Alex Sakhartchouk
3694e9a7a8ded109e16b163789274899447cef02642Alex SakhartchoukMeshBindIndex {
3704e9a7a8ded109e16b163789274899447cef02642Alex Sakhartchouk	param RsMesh mesh
3714e9a7a8ded109e16b163789274899447cef02642Alex Sakhartchouk	param RsAllocation idx
3724e9a7a8ded109e16b163789274899447cef02642Alex Sakhartchouk	param uint32_t primType
3734e9a7a8ded109e16b163789274899447cef02642Alex Sakhartchouk	param uint32_t slot
3744e9a7a8ded109e16b163789274899447cef02642Alex Sakhartchouk	}
3754e9a7a8ded109e16b163789274899447cef02642Alex Sakhartchouk
3764e9a7a8ded109e16b163789274899447cef02642Alex SakhartchoukMeshBindVertex {
3774e9a7a8ded109e16b163789274899447cef02642Alex Sakhartchouk	param RsMesh mesh
3784e9a7a8ded109e16b163789274899447cef02642Alex Sakhartchouk	param RsAllocation vtx
3794e9a7a8ded109e16b163789274899447cef02642Alex Sakhartchouk	param uint32_t slot
3804e9a7a8ded109e16b163789274899447cef02642Alex Sakhartchouk	}
3814e9a7a8ded109e16b163789274899447cef02642Alex Sakhartchouk
38254929cce0bf44090424b1f91b676529a2422378fAlex SakhartchoukMeshInitVertexAttribs {
38354929cce0bf44090424b1f91b676529a2422378fAlex Sakhartchouk	param RsMesh mesh
38454929cce0bf44090424b1f91b676529a2422378fAlex Sakhartchouk	}
38554929cce0bf44090424b1f91b676529a2422378fAlex Sakhartchouk
386c1ed589021e280cda59a0521cb96b3e9eb629e1bJason SamsAnimationCreate {
387c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams	param const float *inValues
388c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams	param const float *outValues
389c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams	param uint32_t valueCount
390c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams	param RsAnimationInterpolation interp
391c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams	param RsAnimationEdge pre
392c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams	param RsAnimationEdge post
393c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams	ret RsAnimation
394c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams	}
395c1ed589021e280cda59a0521cb96b3e9eb629e1bJason Sams
396