rs.spec revision c7968a0ac24f05d978616a79a5068b6b16dbbda6
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
21702652065131e740c04e0744bb433028e15d8434Jason SamsContextSendMessage {
22702652065131e740c04e0744bb433028e15d8434Jason Sams    param uint32_t id
23702652065131e740c04e0744bb433028e15d8434Jason Sams    param const uint8_t *data
24702652065131e740c04e0744bb433028e15d8434Jason Sams}
25702652065131e740c04e0744bb433028e15d8434Jason Sams
26186e59154a0fb86e05e283e9c083b69878c06720Jason SamsContextInitToClient {
27186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    direct
28186e59154a0fb86e05e283e9c083b69878c06720Jason Sams}
29186e59154a0fb86e05e283e9c083b69878c06720Jason Sams
30186e59154a0fb86e05e283e9c083b69878c06720Jason SamsContextDeinitToClient {
31186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    direct
32186e59154a0fb86e05e283e9c083b69878c06720Jason Sams}
33186e59154a0fb86e05e283e9c083b69878c06720Jason Sams
34c975cf4a71b63ccbd20f1f3b3341c5f2e6025b45Jason SamsTypeCreate {
35186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    direct
36186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param RsElement e
37186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param uint32_t dimX
38186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param uint32_t dimY
39186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param uint32_t dimZ
408f615d682f9e7e2cd4de2e4478e0e76fc359922cStephen Hines    param bool mipmaps
41186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param bool faces
42a572aca4eb4ddb32c10baa1f529431cfefd756b8Jason Sams    param uint32_t yuv
43186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    ret RsType
44186e59154a0fb86e05e283e9c083b69878c06720Jason Sams}
45186e59154a0fb86e05e283e9c083b69878c06720Jason Sams
46c7968a0ac24f05d978616a79a5068b6b16dbbda6Jason SamsTypeCreate2 {
47c7968a0ac24f05d978616a79a5068b6b16dbbda6Jason Sams    direct
48c7968a0ac24f05d978616a79a5068b6b16dbbda6Jason Sams    param const RsTypeCreateParams *dat
49c7968a0ac24f05d978616a79a5068b6b16dbbda6Jason Sams    ret RsType
50c7968a0ac24f05d978616a79a5068b6b16dbbda6Jason Sams}
51c7968a0ac24f05d978616a79a5068b6b16dbbda6Jason Sams
52c975cf4a71b63ccbd20f1f3b3341c5f2e6025b45Jason SamsAllocationCreateTyped {
53186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    direct
54186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param RsType vtype
558f615d682f9e7e2cd4de2e4478e0e76fc359922cStephen Hines    param RsAllocationMipmapControl mipmaps
56186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param uint32_t usages
57099bc262f862cdeb547cf8a78fe9e0e92560f437Tim Murray    param uintptr_t ptr
58186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    ret RsAllocation
59186e59154a0fb86e05e283e9c083b69878c06720Jason Sams}
60186e59154a0fb86e05e283e9c083b69878c06720Jason Sams
61c975cf4a71b63ccbd20f1f3b3341c5f2e6025b45Jason SamsAllocationCreateFromBitmap {
62186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    direct
63186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param RsType vtype
648f615d682f9e7e2cd4de2e4478e0e76fc359922cStephen Hines    param RsAllocationMipmapControl mipmaps
65186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param const void *data
66186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param uint32_t usages
67186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    ret RsAllocation
68186e59154a0fb86e05e283e9c083b69878c06720Jason Sams}
69186e59154a0fb86e05e283e9c083b69878c06720Jason Sams
70c975cf4a71b63ccbd20f1f3b3341c5f2e6025b45Jason SamsAllocationCubeCreateFromBitmap {
71186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    direct
72186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param RsType vtype
738f615d682f9e7e2cd4de2e4478e0e76fc359922cStephen Hines    param RsAllocationMipmapControl mipmaps
74186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param const void *data
75186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param uint32_t usages
76186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    ret RsAllocation
77186e59154a0fb86e05e283e9c083b69878c06720Jason Sams}
78186e59154a0fb86e05e283e9c083b69878c06720Jason Sams
79733396b67724162844ea2785c7495115dc5ee8d8Jason SamsAllocationGetSurface {
8041e373d91a60043afa0f9abd026218b49cbc1201Jason Sams    param RsAllocation alloc
813522f40418fdf877f5a136475dbf75e57a3b7c77Jason Sams    sync
82733396b67724162844ea2785c7495115dc5ee8d8Jason Sams    ret RsNativeWindow
833522f40418fdf877f5a136475dbf75e57a3b7c77Jason Sams}
843522f40418fdf877f5a136475dbf75e57a3b7c77Jason Sams
857ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason SamsAllocationSetSurface {
867ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason Sams    param RsAllocation alloc
877ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason Sams    param RsNativeWindow sur
887ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason Sams    sync
897ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason Sams    }
907ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason Sams
918c88090e8cccab103eebe2ff569e116e9f5fb208Jason SamsContextFinish {
92748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    sync
93748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
94326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
95c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason SamsContextDump {
96748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param int32_t bits
97c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason Sams}
98c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason Sams
99613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason SamsContextSetPriority {
100748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param int32_t priority
101748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
102613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason Sams
103741aac95b777b2e6cb90f484a05e489a79a6ef05Jason SamsContextDestroyWorker {
1048c1da3f9c29ae2004521c7aaf9be556d88331c3fTim Murray    sync
1051dcefab7178f0644b0e0a6998007b1acae5261cfJason Sams}
1061dcefab7178f0644b0e0a6998007b1acae5261cfJason Sams
107a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason SamsAssignName {
108748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsObjectBase obj
109748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const char *name
110748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
111326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
112707aaf341a4b068e6ccadf923af85acdd85fd775Jason SamsObjDestroy {
113748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAsyncVoidPtr objPtr
114397b0b17fd26439eb82a76fea903952b88e5cc96Tim Murray    handcodeApi
115748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
116707aaf341a4b068e6ccadf923af85acdd85fd775Jason Sams
117d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason SamsElementCreate {
118c700e649ca44d0dcff8b271e42d949ea72fe3c63Alex Sakhartchouk        direct
119748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsDataType mType
120748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsDataKind mKind
121748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param bool mNormalized
122748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t mVectorSize
123748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    ret RsElement
124748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
125326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
126d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason SamsElementCreate2 {
127c700e649ca44d0dcff8b271e42d949ea72fe3c63Alex Sakhartchouk        direct
128748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const RsElement * elements
129748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const char ** names
130748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const uint32_t * arraySize
131748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    ret RsElement
132748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
133326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
134837e388700a48084489ba59d1d8cc5ece68b1535Jason SamsAllocationCopyToBitmap {
135748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocation alloc
136748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param void * data
137748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
13839f2ef6fed00a99c5c389e12c4597884027d4858Alex Sakhartchouk
139b8a94e26c0a5e8f58d5b6ed04e46b411e95b77a4Jason SamsAllocationGetPointer {
140b8a94e26c0a5e8f58d5b6ed04e46b411e95b77a4Jason Sams    param RsAllocation va
141b8a94e26c0a5e8f58d5b6ed04e46b411e95b77a4Jason Sams    param uint32_t lod
142b8a94e26c0a5e8f58d5b6ed04e46b411e95b77a4Jason Sams    param RsAllocationCubemapFace face
143b8a94e26c0a5e8f58d5b6ed04e46b411e95b77a4Jason Sams    param uint32_t z
144b8a94e26c0a5e8f58d5b6ed04e46b411e95b77a4Jason Sams    param uint32_t array
145b8a94e26c0a5e8f58d5b6ed04e46b411e95b77a4Jason Sams    param size_t *stride
146b8a94e26c0a5e8f58d5b6ed04e46b411e95b77a4Jason Sams    ret void *s
147b8a94e26c0a5e8f58d5b6ed04e46b411e95b77a4Jason Sams    }
148326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
1494b45b8998e0d7038efaea80c70d23c086640b4e3Jason SamsAllocation1DData {
150748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocation va
151748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t xoff
152748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t lod
153748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t count
154748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const void *data
155748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
156326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
1574b45b8998e0d7038efaea80c70d23c086640b4e3Jason SamsAllocation1DElementData {
158748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocation va
159748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t x
160748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t lod
161748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const void *data
162748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param size_t comp_offset
163748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
1645f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams
1654b45b8998e0d7038efaea80c70d23c086640b4e3Jason SamsAllocation2DData {
166748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocation va
167748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t xoff
168748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t yoff
169748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t lod
170748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocationCubemapFace face
171748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t w
172748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t h
173748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const void *data
174358747a3118301c5faeee73c98dd5f839bbfb54aTim Murray    param size_t stride
175748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
176326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
1773bbc0fd40264ddae1592706d9023865b7b3e3195Jason SamsAllocation3DData {
1783bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param RsAllocation va
1793bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t xoff
1803bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t yoff
1813bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t zoff
1823bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t lod
1833bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t w
1843bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t h
1853bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t d
1863bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param const void *data
1873bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param size_t stride
1883bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    }
1893bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams
190a23715148f7bda74e904fc553b70c9a49fd52a6eJason SamsAllocationGenerateMipmaps {
191748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocation va
192a23715148f7bda74e904fc553b70c9a49fd52a6eJason Sams}
193a23715148f7bda74e904fc553b70c9a49fd52a6eJason Sams
194e579df42e85d9e00f53c42ef1b78dbd209dba989Jason SamsAllocationRead {
195748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocation va
196748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param void * data
197748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
198326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
199509ea5c832a865bc9083d53f1f058377a689bab3Tim MurrayAllocation1DRead {
200509ea5c832a865bc9083d53f1f058377a689bab3Tim Murray    param RsAllocation va
201509ea5c832a865bc9083d53f1f058377a689bab3Tim Murray    param uint32_t xoff
202509ea5c832a865bc9083d53f1f058377a689bab3Tim Murray    param uint32_t lod
203509ea5c832a865bc9083d53f1f058377a689bab3Tim Murray    param uint32_t count
204509ea5c832a865bc9083d53f1f058377a689bab3Tim Murray    param void *data
205509ea5c832a865bc9083d53f1f058377a689bab3Tim Murray    }
206509ea5c832a865bc9083d53f1f058377a689bab3Tim Murray
2077b3e3093f745134345dadf89498ad16e1f9c0e71Tim MurrayAllocation2DRead {
2087b3e3093f745134345dadf89498ad16e1f9c0e71Tim Murray    param RsAllocation va
2097b3e3093f745134345dadf89498ad16e1f9c0e71Tim Murray    param uint32_t xoff
2107b3e3093f745134345dadf89498ad16e1f9c0e71Tim Murray    param uint32_t yoff
2117b3e3093f745134345dadf89498ad16e1f9c0e71Tim Murray    param uint32_t lod
2127b3e3093f745134345dadf89498ad16e1f9c0e71Tim Murray    param RsAllocationCubemapFace face
2137b3e3093f745134345dadf89498ad16e1f9c0e71Tim Murray    param uint32_t w
2147b3e3093f745134345dadf89498ad16e1f9c0e71Tim Murray    param uint32_t h
2157b3e3093f745134345dadf89498ad16e1f9c0e71Tim Murray    param void *data
216358747a3118301c5faeee73c98dd5f839bbfb54aTim Murray    param size_t stride
2177b3e3093f745134345dadf89498ad16e1f9c0e71Tim Murray}
218509ea5c832a865bc9083d53f1f058377a689bab3Tim Murray
2198c1da3f9c29ae2004521c7aaf9be556d88331c3fTim Murray
220366c9c85196675437a8dd74c1cf6b63ddbde3d6aJason SamsAllocationSyncAll {
221748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocation va
222748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocationUsageType src
223366c9c85196675437a8dd74c1cf6b63ddbde3d6aJason Sams}
224366c9c85196675437a8dd74c1cf6b63ddbde3d6aJason Sams
22596abf819e50b59ba8cf886c13f894633eb0a24baJason SamsAllocationResize1D {
226748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocation va
227748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t dimX
228748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
22996abf819e50b59ba8cf886c13f894633eb0a24baJason Sams
23074a827988567a9d65954bb0d825a3ba4a97e2947Alex SakhartchoukAllocationCopy2DRange {
231748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocation dest
232748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t destXoff
233748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t destYoff
234748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t destMip
235748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t destFace
236748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t width
237748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t height
238748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocation src
239748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t srcXoff
240748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t srcYoff
241748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t srcMip
242748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t srcFace
243748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
24474a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk
2453bbc0fd40264ddae1592706d9023865b7b3e3195Jason SamsAllocationCopy3DRange {
2463bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param RsAllocation dest
2473bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t destXoff
2483bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t destYoff
2493bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t destZoff
2503bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t destMip
2513bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t width
2523bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t height
2533bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t depth
2543bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param RsAllocation src
2553bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t srcXoff
2563bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t srcYoff
2573bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t srcZoff
2583bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t srcMip
2593bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    }
2603bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams
2613bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams
262326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsSamplerCreate {
263c700e649ca44d0dcff8b271e42d949ea72fe3c63Alex Sakhartchouk    direct
264c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    param RsSamplerValue magFilter
265c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    param RsSamplerValue minFilter
266c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    param RsSamplerValue wrapS
267c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    param RsSamplerValue wrapT
268c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    param RsSamplerValue wrapR
269c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    param float mAniso
270c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    ret RsSampler
271c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk}
272326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
273326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptBindAllocation {
274748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript vtm
275748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocation va
276748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
277748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
278326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
279d34b725ac1752f5a234c7643a0b65245591ea1ccJason SamsScriptSetTimeZone {
280748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
281748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const char * timeZone
282748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
28398e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy
284be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptInvoke {
285748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
286748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
287748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
288326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
289be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptInvokeV {
290748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
291748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
292748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const void * data
293748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
2948c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams
295c2c02a88641620f50a69cc174077ac8bbef40478Alex SakhartchoukScriptForEach {
2965fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams    param RsScript s
2975fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams    param uint32_t slot
2985fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams    param RsAllocation ain
2995fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams    param RsAllocation aout
3005fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams    param const void * usr
301d4ecb17adc9b099351f2ca1779a74f5283f20a3dTim Murray    param const RsScriptCall * sc
3025fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams}
3035fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams
3044b3c34e6833e39bc89c2128002806b654b8e623dChris WailesScriptForEachMulti {
3054b3c34e6833e39bc89c2128002806b654b8e623dChris Wailes    param RsScript s
3064b3c34e6833e39bc89c2128002806b654b8e623dChris Wailes    param uint32_t slot
3074b3c34e6833e39bc89c2128002806b654b8e623dChris Wailes    param RsAllocation * ains
3084b3c34e6833e39bc89c2128002806b654b8e623dChris Wailes    param RsAllocation aout
3094b3c34e6833e39bc89c2128002806b654b8e623dChris Wailes    param const void * usr
3104b3c34e6833e39bc89c2128002806b654b8e623dChris Wailes    param const RsScriptCall * sc
3114b3c34e6833e39bc89c2128002806b654b8e623dChris Wailes}
3124b3c34e6833e39bc89c2128002806b654b8e623dChris Wailes
313be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptSetVarI {
314748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
315748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
316748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param int value
317748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
318be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams
319a5eb6e17c08426deeedf989d6be280d89662ee82Jason SamsScriptSetVarObj {
320748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
321748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
322748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsObjectBase value
323748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
324a5eb6e17c08426deeedf989d6be280d89662ee82Jason Sams
3250977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen HinesScriptSetVarJ {
326748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
327748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
328748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param int64_t value
329748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
3300977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen Hines
331be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptSetVarF {
332748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
333748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
334748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param float value
335748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
336be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams
3376d0a0740530d57e2a5759df994352600946ff47dStephen HinesScriptSetVarD {
338748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
339748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
340748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param double value
341748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
3426d0a0740530d57e2a5759df994352600946ff47dStephen Hines
343be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptSetVarV {
344748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
345748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
346748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const void * data
347748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
348fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams
3499c64239ebbfa4170190ede812e69150035e008e0Tim MurrayScriptGetVarV {
3509c64239ebbfa4170190ede812e69150035e008e0Tim Murray    param RsScript s
3519c64239ebbfa4170190ede812e69150035e008e0Tim Murray    param uint32_t slot
3529c64239ebbfa4170190ede812e69150035e008e0Tim Murray    param void * data
3539c64239ebbfa4170190ede812e69150035e008e0Tim Murray    sync
3549c64239ebbfa4170190ede812e69150035e008e0Tim Murray    }
3559c64239ebbfa4170190ede812e69150035e008e0Tim Murray
3562980f07d3dbbca727e8efe24ace7e7928a935648Stephen HinesScriptSetVarVE {
3572980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines    param RsScript s
3582980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines    param uint32_t slot
3592980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines    param const void * data
3602980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines    param RsElement e
361ac8d146a41f18afad5314ac8af440d6aedbe20bfStephen Hines    param const uint32_t * dims
3622980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines    }
3632980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines
364fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams
365326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptCCreate {
3669503b66e5329703535f7cc71a0755e6f3b1e39a6Shih-wei Liao        param const char * resName
36715849d9a926fbd83587b9da30b8888574998a0fdShih-wei Liao        param const char * cacheDir
368748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const char * text
369748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    ret RsScript
370748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
371326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
3728eaba4fee0c7b5325742c87187622fdff51d5effJason SamsScriptIntrinsicCreate {
3738eaba4fee0c7b5325742c87187622fdff51d5effJason Sams    param uint32_t id
3748eaba4fee0c7b5325742c87187622fdff51d5effJason Sams    param RsElement eid
3758eaba4fee0c7b5325742c87187622fdff51d5effJason Sams    ret RsScript
3768eaba4fee0c7b5325742c87187622fdff51d5effJason Sams    }
377326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
378dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason SamsScriptKernelIDCreate {
379dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    direct
380dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScript sid
381dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param int slot
382dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param int sig
383dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    ret RsScriptKernelID
384dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    }
385dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams
386dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason SamsScriptFieldIDCreate {
387dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    direct
388dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScript sid
389dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param int slot
390dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    ret RsScriptFieldID
391dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    }
392dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams
393dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason SamsScriptGroupCreate {
394dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    direct
395dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptKernelID * kernels
396dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptKernelID * src
397dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptKernelID * dstK
398dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptFieldID * dstF
399dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param const RsType * type
400dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    ret RsScriptGroup
401dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams}
402dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams
403dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason SamsScriptGroupSetOutput {
404dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptGroup group
405dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptKernelID kernel
406dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsAllocation alloc
407dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams}
408dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams
409dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason SamsScriptGroupSetInput {
410dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptGroup group
411dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptKernelID kernel
412dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsAllocation alloc
413dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams}
414dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams
415dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason SamsScriptGroupExecute {
416dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptGroup group
417dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams}
418dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams
4194a92d1268983edaf329f73c8a5b8860cdbb11596Tim MurrayAllocationIoSend {
4204a92d1268983edaf329f73c8a5b8860cdbb11596Tim Murray    param RsAllocation alloc
4214a92d1268983edaf329f73c8a5b8860cdbb11596Tim Murray    }
422dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams
4234a92d1268983edaf329f73c8a5b8860cdbb11596Tim MurrayAllocationIoReceive {
4244a92d1268983edaf329f73c8a5b8860cdbb11596Tim Murray    param RsAllocation alloc
4254a92d1268983edaf329f73c8a5b8860cdbb11596Tim Murray    }
426