rs.spec revision eb9aa675754c49f613c6ad71d41472b30f38b007
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
2611ffd86b448d78366190c540f98f8b6d641cdb6cfYang NiClosureCreate {
2621ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni    direct
2631ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni    param RsScriptKernelID kernelID
2641ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni    param RsAllocation returnValue
2651ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni    param RsScriptFieldID * fieldIDs
2661ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni    param uintptr_t * values
2671ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni    param size_t * sizes
2681ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni    param RsClosure * depClosures
2691ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni    param RsScriptFieldID * depFieldIDs
2701ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni    ret RsClosure
2711ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni    }
2721ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni
273eb9aa675754c49f613c6ad71d41472b30f38b007Yang NiInvokeClosureCreate {
274eb9aa675754c49f613c6ad71d41472b30f38b007Yang Ni    direct
275eb9aa675754c49f613c6ad71d41472b30f38b007Yang Ni    param RsScriptInvokeID invokeID
276eb9aa675754c49f613c6ad71d41472b30f38b007Yang Ni    param const void * params
277eb9aa675754c49f613c6ad71d41472b30f38b007Yang Ni    param const RsScriptFieldID * fieldIDs
278eb9aa675754c49f613c6ad71d41472b30f38b007Yang Ni    param const uintptr_t * values
279eb9aa675754c49f613c6ad71d41472b30f38b007Yang Ni    param const size_t * sizes
280eb9aa675754c49f613c6ad71d41472b30f38b007Yang Ni    ret RsClosure
281eb9aa675754c49f613c6ad71d41472b30f38b007Yang Ni}
282eb9aa675754c49f613c6ad71d41472b30f38b007Yang Ni
2831ffd86b448d78366190c540f98f8b6d641cdb6cfYang NiClosureSetArg {
2841ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni  param RsClosure closureID
2851ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni  param uint32_t index
2861ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni  param uintptr_t value
2871ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni  param size_t valueSize
2881ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni}
2891ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni
2901ffd86b448d78366190c540f98f8b6d641cdb6cfYang NiClosureSetGlobal {
2911ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni  param RsClosure closureID
2921ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni  param RsScriptFieldID fieldID
2931ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni  param uintptr_t value
2941ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni  param size_t valueSize
2951ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni}
2963bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams
297326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsSamplerCreate {
298c700e649ca44d0dcff8b271e42d949ea72fe3c63Alex Sakhartchouk    direct
299c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    param RsSamplerValue magFilter
300c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    param RsSamplerValue minFilter
301c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    param RsSamplerValue wrapS
302c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    param RsSamplerValue wrapT
303c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    param RsSamplerValue wrapR
304c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    param float mAniso
305c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    ret RsSampler
306c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk}
307326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
308326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptBindAllocation {
309748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript vtm
310748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocation va
311748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
312748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
313326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
314d34b725ac1752f5a234c7643a0b65245591ea1ccJason SamsScriptSetTimeZone {
315748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
316748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const char * timeZone
317748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
31898e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy
319eb9aa675754c49f613c6ad71d41472b30f38b007Yang NiScriptInvokeIDCreate {
320eb9aa675754c49f613c6ad71d41472b30f38b007Yang Ni    param RsScript s
321eb9aa675754c49f613c6ad71d41472b30f38b007Yang Ni    param uint32_t slot
322eb9aa675754c49f613c6ad71d41472b30f38b007Yang Ni    ret RsScriptInvokeID;
323eb9aa675754c49f613c6ad71d41472b30f38b007Yang Ni    }
324eb9aa675754c49f613c6ad71d41472b30f38b007Yang Ni
325be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptInvoke {
326748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
327748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
328748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
329326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
330be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptInvokeV {
331748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
332748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
333748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const void * data
334748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
3358c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams
336c2c02a88641620f50a69cc174077ac8bbef40478Alex SakhartchoukScriptForEach {
3375fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams    param RsScript s
3385fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams    param uint32_t slot
3395fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams    param RsAllocation ain
3405fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams    param RsAllocation aout
3415fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams    param const void * usr
342d4ecb17adc9b099351f2ca1779a74f5283f20a3dTim Murray    param const RsScriptCall * sc
3435fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams}
3445fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams
3454b3c34e6833e39bc89c2128002806b654b8e623dChris WailesScriptForEachMulti {
3464b3c34e6833e39bc89c2128002806b654b8e623dChris Wailes    param RsScript s
3474b3c34e6833e39bc89c2128002806b654b8e623dChris Wailes    param uint32_t slot
3484b3c34e6833e39bc89c2128002806b654b8e623dChris Wailes    param RsAllocation * ains
3494b3c34e6833e39bc89c2128002806b654b8e623dChris Wailes    param RsAllocation aout
3504b3c34e6833e39bc89c2128002806b654b8e623dChris Wailes    param const void * usr
3514b3c34e6833e39bc89c2128002806b654b8e623dChris Wailes    param const RsScriptCall * sc
3524b3c34e6833e39bc89c2128002806b654b8e623dChris Wailes}
3534b3c34e6833e39bc89c2128002806b654b8e623dChris Wailes
354be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptSetVarI {
355748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
356748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
357748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param int value
358748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
359be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams
360a5eb6e17c08426deeedf989d6be280d89662ee82Jason SamsScriptSetVarObj {
361748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
362748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
363748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsObjectBase value
364748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
365a5eb6e17c08426deeedf989d6be280d89662ee82Jason Sams
3660977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen HinesScriptSetVarJ {
367748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
368748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
369748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param int64_t value
370748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
3710977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen Hines
372be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptSetVarF {
373748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
374748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
375748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param float value
376748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
377be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams
3786d0a0740530d57e2a5759df994352600946ff47dStephen HinesScriptSetVarD {
379748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
380748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
381748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param double value
382748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
3836d0a0740530d57e2a5759df994352600946ff47dStephen Hines
384be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptSetVarV {
385748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
386748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
387748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const void * data
388748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
389fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams
3909c64239ebbfa4170190ede812e69150035e008e0Tim MurrayScriptGetVarV {
3919c64239ebbfa4170190ede812e69150035e008e0Tim Murray    param RsScript s
3929c64239ebbfa4170190ede812e69150035e008e0Tim Murray    param uint32_t slot
3939c64239ebbfa4170190ede812e69150035e008e0Tim Murray    param void * data
3949c64239ebbfa4170190ede812e69150035e008e0Tim Murray    sync
3959c64239ebbfa4170190ede812e69150035e008e0Tim Murray    }
3969c64239ebbfa4170190ede812e69150035e008e0Tim Murray
3972980f07d3dbbca727e8efe24ace7e7928a935648Stephen HinesScriptSetVarVE {
3982980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines    param RsScript s
3992980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines    param uint32_t slot
4002980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines    param const void * data
4012980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines    param RsElement e
402ac8d146a41f18afad5314ac8af440d6aedbe20bfStephen Hines    param const uint32_t * dims
4032980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines    }
4042980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines
405fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams
406326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptCCreate {
4079503b66e5329703535f7cc71a0755e6f3b1e39a6Shih-wei Liao        param const char * resName
40815849d9a926fbd83587b9da30b8888574998a0fdShih-wei Liao        param const char * cacheDir
409748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const char * text
410748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    ret RsScript
411748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
412326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
4138eaba4fee0c7b5325742c87187622fdff51d5effJason SamsScriptIntrinsicCreate {
4148eaba4fee0c7b5325742c87187622fdff51d5effJason Sams    param uint32_t id
4158eaba4fee0c7b5325742c87187622fdff51d5effJason Sams    param RsElement eid
4168eaba4fee0c7b5325742c87187622fdff51d5effJason Sams    ret RsScript
4178eaba4fee0c7b5325742c87187622fdff51d5effJason Sams    }
418326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
419dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason SamsScriptKernelIDCreate {
420dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    direct
421dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScript sid
422dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param int slot
423dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param int sig
424dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    ret RsScriptKernelID
425dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    }
426dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams
427dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason SamsScriptFieldIDCreate {
428dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    direct
429dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScript sid
430dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param int slot
431dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    ret RsScriptFieldID
432dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    }
433dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams
434dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason SamsScriptGroupCreate {
435dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    direct
436dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptKernelID * kernels
437dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptKernelID * src
438dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptKernelID * dstK
439dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptFieldID * dstF
440dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param const RsType * type
441dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    ret RsScriptGroup
442dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams}
443dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams
444dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason SamsScriptGroupSetOutput {
445dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptGroup group
446dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptKernelID kernel
447dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsAllocation alloc
448dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams}
449dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams
450dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason SamsScriptGroupSetInput {
451dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptGroup group
452dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptKernelID kernel
453dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsAllocation alloc
454dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams}
455dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams
456dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason SamsScriptGroupExecute {
457dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptGroup group
458dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams}
459dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams
4601ffd86b448d78366190c540f98f8b6d641cdb6cfYang NiScriptGroup2Create{
4611ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni    direct
462da0f069871343119251d6b0586be356dc2146a62Yang Ni    param const char * cacheDir
4631ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni    param RsClosure * closures
4641ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni    ret RsScriptGroup2
4651ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni}
4661ffd86b448d78366190c540f98f8b6d641cdb6cfYang Ni
4674a92d1268983edaf329f73c8a5b8860cdbb11596Tim MurrayAllocationIoSend {
4684a92d1268983edaf329f73c8a5b8860cdbb11596Tim Murray    param RsAllocation alloc
4694a92d1268983edaf329f73c8a5b8860cdbb11596Tim Murray    }
470dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams
4714a92d1268983edaf329f73c8a5b8860cdbb11596Tim MurrayAllocationIoReceive {
4724a92d1268983edaf329f73c8a5b8860cdbb11596Tim Murray    param RsAllocation alloc
4734a92d1268983edaf329f73c8a5b8860cdbb11596Tim Murray    }
474