rs.spec revision ac8d146a41f18afad5314ac8af440d6aedbe20bf
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
46c975cf4a71b63ccbd20f1f3b3341c5f2e6025b45Jason SamsAllocationCreateTyped {
47186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    direct
48186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param RsType vtype
498f615d682f9e7e2cd4de2e4478e0e76fc359922cStephen Hines    param RsAllocationMipmapControl mipmaps
50186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param uint32_t usages
51099bc262f862cdeb547cf8a78fe9e0e92560f437Tim Murray    param uintptr_t ptr
52186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    ret RsAllocation
53186e59154a0fb86e05e283e9c083b69878c06720Jason Sams}
54186e59154a0fb86e05e283e9c083b69878c06720Jason Sams
55c975cf4a71b63ccbd20f1f3b3341c5f2e6025b45Jason SamsAllocationCreateFromBitmap {
56186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    direct
57186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param RsType vtype
588f615d682f9e7e2cd4de2e4478e0e76fc359922cStephen Hines    param RsAllocationMipmapControl mipmaps
59186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param const void *data
60186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param uint32_t usages
61186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    ret RsAllocation
62186e59154a0fb86e05e283e9c083b69878c06720Jason Sams}
63186e59154a0fb86e05e283e9c083b69878c06720Jason Sams
64c975cf4a71b63ccbd20f1f3b3341c5f2e6025b45Jason SamsAllocationCubeCreateFromBitmap {
65186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    direct
66186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param RsType vtype
678f615d682f9e7e2cd4de2e4478e0e76fc359922cStephen Hines    param RsAllocationMipmapControl mipmaps
68186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param const void *data
69186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    param uint32_t usages
70186e59154a0fb86e05e283e9c083b69878c06720Jason Sams    ret RsAllocation
71186e59154a0fb86e05e283e9c083b69878c06720Jason Sams}
72186e59154a0fb86e05e283e9c083b69878c06720Jason Sams
73733396b67724162844ea2785c7495115dc5ee8d8Jason SamsAllocationGetSurface {
7441e373d91a60043afa0f9abd026218b49cbc1201Jason Sams    param RsAllocation alloc
753522f40418fdf877f5a136475dbf75e57a3b7c77Jason Sams    sync
76733396b67724162844ea2785c7495115dc5ee8d8Jason Sams    ret RsNativeWindow
773522f40418fdf877f5a136475dbf75e57a3b7c77Jason Sams}
783522f40418fdf877f5a136475dbf75e57a3b7c77Jason Sams
797ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason SamsAllocationSetSurface {
807ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason Sams    param RsAllocation alloc
817ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason Sams    param RsNativeWindow sur
827ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason Sams    sync
837ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason Sams    }
847ac2a4dda4d20ca1f1b714e129a3a08f63178c18Jason Sams
858c88090e8cccab103eebe2ff569e116e9f5fb208Jason SamsContextFinish {
86748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    sync
87748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
88326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
89c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason SamsContextDump {
90748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param int32_t bits
91c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason Sams}
92c21cf40f6ae69091bf24f87b5eeabc95e73dd271Jason Sams
93613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason SamsContextSetPriority {
94748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param int32_t priority
95748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
96613cad1702dbb76eb2a6ba0cfcb43b9fe207cebcJason Sams
97741aac95b777b2e6cb90f484a05e489a79a6ef05Jason SamsContextDestroyWorker {
988c1da3f9c29ae2004521c7aaf9be556d88331c3fTim Murray    sync
991dcefab7178f0644b0e0a6998007b1acae5261cfJason Sams}
1001dcefab7178f0644b0e0a6998007b1acae5261cfJason Sams
101a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason SamsAssignName {
102748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsObjectBase obj
103748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const char *name
104748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
105326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
106707aaf341a4b068e6ccadf923af85acdd85fd775Jason SamsObjDestroy {
107748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAsyncVoidPtr objPtr
108397b0b17fd26439eb82a76fea903952b88e5cc96Tim Murray    handcodeApi
109748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
110707aaf341a4b068e6ccadf923af85acdd85fd775Jason Sams
111d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason SamsElementCreate {
112c700e649ca44d0dcff8b271e42d949ea72fe3c63Alex Sakhartchouk        direct
113748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsDataType mType
114748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsDataKind mKind
115748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param bool mNormalized
116748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t mVectorSize
117748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    ret RsElement
118748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
119326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
120d01d970cf5973aa5186cc02c80fb2c143a69b0b1Jason SamsElementCreate2 {
121c700e649ca44d0dcff8b271e42d949ea72fe3c63Alex Sakhartchouk        direct
122748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const RsElement * elements
123748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const char ** names
124748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const uint32_t * arraySize
125748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    ret RsElement
126748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
127326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
128837e388700a48084489ba59d1d8cc5ece68b1535Jason SamsAllocationCopyToBitmap {
129748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocation alloc
130748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param void * data
131748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
13239f2ef6fed00a99c5c389e12c4597884027d4858Alex Sakhartchouk
133b8a94e26c0a5e8f58d5b6ed04e46b411e95b77a4Jason SamsAllocationGetPointer {
134b8a94e26c0a5e8f58d5b6ed04e46b411e95b77a4Jason Sams    param RsAllocation va
135b8a94e26c0a5e8f58d5b6ed04e46b411e95b77a4Jason Sams    param uint32_t lod
136b8a94e26c0a5e8f58d5b6ed04e46b411e95b77a4Jason Sams    param RsAllocationCubemapFace face
137b8a94e26c0a5e8f58d5b6ed04e46b411e95b77a4Jason Sams    param uint32_t z
138b8a94e26c0a5e8f58d5b6ed04e46b411e95b77a4Jason Sams    param uint32_t array
139b8a94e26c0a5e8f58d5b6ed04e46b411e95b77a4Jason Sams    param size_t *stride
140b8a94e26c0a5e8f58d5b6ed04e46b411e95b77a4Jason Sams    ret void *s
141b8a94e26c0a5e8f58d5b6ed04e46b411e95b77a4Jason Sams    }
142326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
1434b45b8998e0d7038efaea80c70d23c086640b4e3Jason SamsAllocation1DData {
144748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocation va
145748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t xoff
146748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t lod
147748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t count
148748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const void *data
149748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
150326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
1514b45b8998e0d7038efaea80c70d23c086640b4e3Jason SamsAllocation1DElementData {
152748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocation va
153748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t x
154748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t lod
155748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const void *data
156748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param size_t comp_offset
157748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
1585f0c84cf464dda719cef65fdc9b4d0980e86b98fJason Sams
1594b45b8998e0d7038efaea80c70d23c086640b4e3Jason SamsAllocation2DData {
160748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocation va
161748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t xoff
162748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t yoff
163748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t lod
164748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocationCubemapFace face
165748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t w
166748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t h
167748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const void *data
168358747a3118301c5faeee73c98dd5f839bbfb54aTim Murray    param size_t stride
169748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
170326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
1713bbc0fd40264ddae1592706d9023865b7b3e3195Jason SamsAllocation3DData {
1723bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param RsAllocation va
1733bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t xoff
1743bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t yoff
1753bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t zoff
1763bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t lod
1773bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t w
1783bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t h
1793bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t d
1803bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param const void *data
1813bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param size_t stride
1823bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    }
1833bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams
184a23715148f7bda74e904fc553b70c9a49fd52a6eJason SamsAllocationGenerateMipmaps {
185748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocation va
186a23715148f7bda74e904fc553b70c9a49fd52a6eJason Sams}
187a23715148f7bda74e904fc553b70c9a49fd52a6eJason Sams
188e579df42e85d9e00f53c42ef1b78dbd209dba989Jason SamsAllocationRead {
189748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocation va
190748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param void * data
191748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
192326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
193509ea5c832a865bc9083d53f1f058377a689bab3Tim MurrayAllocation1DRead {
194509ea5c832a865bc9083d53f1f058377a689bab3Tim Murray    param RsAllocation va
195509ea5c832a865bc9083d53f1f058377a689bab3Tim Murray    param uint32_t xoff
196509ea5c832a865bc9083d53f1f058377a689bab3Tim Murray    param uint32_t lod
197509ea5c832a865bc9083d53f1f058377a689bab3Tim Murray    param uint32_t count
198509ea5c832a865bc9083d53f1f058377a689bab3Tim Murray    param void *data
199509ea5c832a865bc9083d53f1f058377a689bab3Tim Murray    }
200509ea5c832a865bc9083d53f1f058377a689bab3Tim Murray
2017b3e3093f745134345dadf89498ad16e1f9c0e71Tim MurrayAllocation2DRead {
2027b3e3093f745134345dadf89498ad16e1f9c0e71Tim Murray    param RsAllocation va
2037b3e3093f745134345dadf89498ad16e1f9c0e71Tim Murray    param uint32_t xoff
2047b3e3093f745134345dadf89498ad16e1f9c0e71Tim Murray    param uint32_t yoff
2057b3e3093f745134345dadf89498ad16e1f9c0e71Tim Murray    param uint32_t lod
2067b3e3093f745134345dadf89498ad16e1f9c0e71Tim Murray    param RsAllocationCubemapFace face
2077b3e3093f745134345dadf89498ad16e1f9c0e71Tim Murray    param uint32_t w
2087b3e3093f745134345dadf89498ad16e1f9c0e71Tim Murray    param uint32_t h
2097b3e3093f745134345dadf89498ad16e1f9c0e71Tim Murray    param void *data
210358747a3118301c5faeee73c98dd5f839bbfb54aTim Murray    param size_t stride
2117b3e3093f745134345dadf89498ad16e1f9c0e71Tim Murray}
212509ea5c832a865bc9083d53f1f058377a689bab3Tim Murray
2138c1da3f9c29ae2004521c7aaf9be556d88331c3fTim Murray
214366c9c85196675437a8dd74c1cf6b63ddbde3d6aJason SamsAllocationSyncAll {
215748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocation va
216748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocationUsageType src
217366c9c85196675437a8dd74c1cf6b63ddbde3d6aJason Sams}
218366c9c85196675437a8dd74c1cf6b63ddbde3d6aJason Sams
21996abf819e50b59ba8cf886c13f894633eb0a24baJason SamsAllocationResize1D {
220748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocation va
221748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t dimX
222748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
22396abf819e50b59ba8cf886c13f894633eb0a24baJason Sams
22474a827988567a9d65954bb0d825a3ba4a97e2947Alex SakhartchoukAllocationCopy2DRange {
225748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocation dest
226748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t destXoff
227748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t destYoff
228748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t destMip
229748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t destFace
230748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t width
231748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t height
232748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocation src
233748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t srcXoff
234748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t srcYoff
235748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t srcMip
236748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t srcFace
237748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
23874a827988567a9d65954bb0d825a3ba4a97e2947Alex Sakhartchouk
2393bbc0fd40264ddae1592706d9023865b7b3e3195Jason SamsAllocationCopy3DRange {
2403bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param RsAllocation dest
2413bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t destXoff
2423bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t destYoff
2433bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t destZoff
2443bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t destMip
2453bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t width
2463bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t height
2473bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t depth
2483bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param RsAllocation src
2493bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t srcXoff
2503bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t srcYoff
2513bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t srcZoff
2523bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    param uint32_t srcMip
2533bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams    }
2543bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams
2553bbc0fd40264ddae1592706d9023865b7b3e3195Jason Sams
256326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsSamplerCreate {
257c700e649ca44d0dcff8b271e42d949ea72fe3c63Alex Sakhartchouk    direct
258c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    param RsSamplerValue magFilter
259c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    param RsSamplerValue minFilter
260c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    param RsSamplerValue wrapS
261c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    param RsSamplerValue wrapT
262c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    param RsSamplerValue wrapR
263c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    param float mAniso
264c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk    ret RsSampler
265c2c02a88641620f50a69cc174077ac8bbef40478Alex Sakhartchouk}
266326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
267326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptBindAllocation {
268748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript vtm
269748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsAllocation va
270748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
271748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
272326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
273d34b725ac1752f5a234c7643a0b65245591ea1ccJason SamsScriptSetTimeZone {
274748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
275748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const char * timeZone
276748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
27798e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy
278be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptInvoke {
279748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
280748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
281748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
282326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
283be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptInvokeV {
284748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
285748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
286748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const void * data
287748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
2888c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams
289c2c02a88641620f50a69cc174077ac8bbef40478Alex SakhartchoukScriptForEach {
2905fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams    param RsScript s
2915fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams    param uint32_t slot
2925fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams    param RsAllocation ain
2935fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams    param RsAllocation aout
2945fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams    param const void * usr
295d4ecb17adc9b099351f2ca1779a74f5283f20a3dTim Murray    param const RsScriptCall * sc
2965fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams}
2975fb1aeb6374f814d72117803682bc141cc6b0895Jason Sams
298be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptSetVarI {
299748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
300748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
301748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param int value
302748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
303be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams
304a5eb6e17c08426deeedf989d6be280d89662ee82Jason SamsScriptSetVarObj {
305748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
306748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
307748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsObjectBase value
308748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
309a5eb6e17c08426deeedf989d6be280d89662ee82Jason Sams
3100977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen HinesScriptSetVarJ {
311748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
312748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
313748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param int64_t value
314748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
3150977c94a4b83dd8ef6d3808160710ebbaa1b1768Stephen Hines
316be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptSetVarF {
317748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
318748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
319748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param float value
320748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
321be36bf3a76481737a7fa606a04144ceef80eb4f2Jason Sams
3226d0a0740530d57e2a5759df994352600946ff47dStephen HinesScriptSetVarD {
323748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
324748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
325748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param double value
326748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
3276d0a0740530d57e2a5759df994352600946ff47dStephen Hines
328be36bf3a76481737a7fa606a04144ceef80eb4f2Jason SamsScriptSetVarV {
329748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param RsScript s
330748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param uint32_t slot
331748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const void * data
332748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
333fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams
3349c64239ebbfa4170190ede812e69150035e008e0Tim MurrayScriptGetVarV {
3359c64239ebbfa4170190ede812e69150035e008e0Tim Murray    param RsScript s
3369c64239ebbfa4170190ede812e69150035e008e0Tim Murray    param uint32_t slot
3379c64239ebbfa4170190ede812e69150035e008e0Tim Murray    param void * data
3389c64239ebbfa4170190ede812e69150035e008e0Tim Murray    sync
3399c64239ebbfa4170190ede812e69150035e008e0Tim Murray    }
3409c64239ebbfa4170190ede812e69150035e008e0Tim Murray
3412980f07d3dbbca727e8efe24ace7e7928a935648Stephen HinesScriptSetVarVE {
3422980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines    param RsScript s
3432980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines    param uint32_t slot
3442980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines    param const void * data
3452980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines    param RsElement e
346ac8d146a41f18afad5314ac8af440d6aedbe20bfStephen Hines    param const uint32_t * dims
3472980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines    }
3482980f07d3dbbca727e8efe24ace7e7928a935648Stephen Hines
349fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams
350326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptCCreate {
3519503b66e5329703535f7cc71a0755e6f3b1e39a6Shih-wei Liao        param const char * resName
35215849d9a926fbd83587b9da30b8888574998a0fdShih-wei Liao        param const char * cacheDir
353748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    param const char * text
354748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    ret RsScript
355748eb07e805b93c2bf79340d4937963ab739d17cAlex Sakhartchouk    }
356326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
3578eaba4fee0c7b5325742c87187622fdff51d5effJason SamsScriptIntrinsicCreate {
3588eaba4fee0c7b5325742c87187622fdff51d5effJason Sams    param uint32_t id
3598eaba4fee0c7b5325742c87187622fdff51d5effJason Sams    param RsElement eid
3608eaba4fee0c7b5325742c87187622fdff51d5effJason Sams    ret RsScript
3618eaba4fee0c7b5325742c87187622fdff51d5effJason Sams    }
362326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
363dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason SamsScriptKernelIDCreate {
364dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    direct
365dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScript sid
366dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param int slot
367dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param int sig
368dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    ret RsScriptKernelID
369dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    }
370dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams
371dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason SamsScriptFieldIDCreate {
372dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    direct
373dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScript sid
374dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param int slot
375dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    ret RsScriptFieldID
376dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    }
377dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams
378dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason SamsScriptGroupCreate {
379dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    direct
380dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptKernelID * kernels
381dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptKernelID * src
382dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptKernelID * dstK
383dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptFieldID * dstF
384dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param const RsType * type
385dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    ret RsScriptGroup
386dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams}
387dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams
388dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason SamsScriptGroupSetOutput {
389dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptGroup group
390dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptKernelID kernel
391dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsAllocation alloc
392dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams}
393dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams
394dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason SamsScriptGroupSetInput {
395dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptGroup group
396dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptKernelID kernel
397dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsAllocation alloc
398dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams}
399dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams
400dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason SamsScriptGroupExecute {
401dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams    param RsScriptGroup group
402dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams}
403dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams
4044a92d1268983edaf329f73c8a5b8860cdbb11596Tim MurrayAllocationIoSend {
4054a92d1268983edaf329f73c8a5b8860cdbb11596Tim Murray    param RsAllocation alloc
4064a92d1268983edaf329f73c8a5b8860cdbb11596Tim Murray    }
407dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams
4084a92d1268983edaf329f73c8a5b8860cdbb11596Tim MurrayAllocationIoReceive {
4094a92d1268983edaf329f73c8a5b8860cdbb11596Tim Murray    param RsAllocation alloc
4104a92d1268983edaf329f73c8a5b8860cdbb11596Tim Murray    }
411dbe66d6783c1e53cd1572de0ef6ef6fdf6f76f48Jason Sams
412