rs.spec revision 5fd09d847586f9680b4f495413b6ca5fbb69af6e
1326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
2326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
3326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsContextBindRootScript {
4326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsScript sampler
5326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
6326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
7326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsContextBindProgramFragmentStore {
8326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsProgramFragmentStore pgm
9326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
10326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
11326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsContextBindProgramFragment {
12326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsProgramFragment pgm
13326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
14326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
15326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsContextBindProgramVertex {
16326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsProgramVertex pgm
17326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
18326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
195fd09d847586f9680b4f495413b6ca5fbb69af6eJason SamsContextBindProgramRaster {
205fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param RsProgramRaster pgm
215fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	}
225fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams
2357b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe OnoratoContextSetDefineF {
2457b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato    param const char* name
2557b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato    param float value
2657b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato    }
2757b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato
2857b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe OnoratoContextSetDefineI32 {
2957b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato    param const char* name
3057b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato    param int32_t value
3157b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato    }
3257b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato
33a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason SamsAssignName {
34a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason Sams	param void *obj
35a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason Sams	param const char *name
36a4a54e42fc710a62b47cbcb9d64c34a190429d9eJason Sams	param size_t len
37a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason Sams	}
38326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
39707aaf341a4b068e6ccadf923af85acdd85fd775Jason SamsObjDestroy {
40707aaf341a4b068e6ccadf923af85acdd85fd775Jason Sams	param void *obj
41707aaf341a4b068e6ccadf923af85acdd85fd775Jason Sams	}
42707aaf341a4b068e6ccadf923af85acdd85fd775Jason Sams
43326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsElementBegin {
44326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams}
45326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
46326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsElementAdd {
47326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsDataKind dataKind
48326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsDataType dataType
49326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool isNormalized
50326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param size_t bits
518b2c065dfc16c148e2829a19e83d2269b9bcd4ccJason Sams	param const char * name
52326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
53326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
54326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsElementCreate {
55326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsElement
56326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
57326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
58326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsElementGetPredefined {
59326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsElementPredefined predef
60326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsElement
61326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
62326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
63326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsTypeBegin {
64326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsElement type
65326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
66326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
67326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsTypeAdd {
68326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsDimension dim
69326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param size_t value
70326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
71326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
72326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsTypeCreate {
73326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsType
74326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
75326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
76326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocationCreateTyped {
77326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsType type
78326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsAllocation
79326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
80326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
81326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocationCreatePredefSized {
82326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsElementPredefined predef
83326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param size_t count
84326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsAllocation
85326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
86326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
87326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocationCreateSized {
88326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsElement e
89326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param size_t count
90326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsAllocation
91326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
92326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
936678e9b2568ad041429a2477177133fe4932159fJason SamsAllocationCreateFromFile {
94326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param const char *file
95326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool genMips
96326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsAllocation
97326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
98326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
996678e9b2568ad041429a2477177133fe4932159fJason SamsAllocationCreateFromBitmap {
1006678e9b2568ad041429a2477177133fe4932159fJason Sams	param uint32_t width
1016678e9b2568ad041429a2477177133fe4932159fJason Sams	param uint32_t height
102a57c0a72c3b3babc2757d081ff8146ebaa2caf4cJason Sams	param RsElement dstFmt
103a57c0a72c3b3babc2757d081ff8146ebaa2caf4cJason Sams	param RsElement srcFmt
1046678e9b2568ad041429a2477177133fe4932159fJason Sams	param bool genMips
1056678e9b2568ad041429a2477177133fe4932159fJason Sams	param const void * data
1066678e9b2568ad041429a2477177133fe4932159fJason Sams	ret RsAllocation
1076678e9b2568ad041429a2477177133fe4932159fJason Sams	}
1086678e9b2568ad041429a2477177133fe4932159fJason Sams
109c9d43db4d216b01b13aebfdb31d5615909591b33Jason SamsAllocationCreateFromBitmapBoxed {
110c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams	param uint32_t width
111c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams	param uint32_t height
112a57c0a72c3b3babc2757d081ff8146ebaa2caf4cJason Sams	param RsElement dstFmt
113a57c0a72c3b3babc2757d081ff8146ebaa2caf4cJason Sams	param RsElement srcFmt
114c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams	param bool genMips
115c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams	param const void * data
116c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams	ret RsAllocation
117c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams	}
118c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams
1196678e9b2568ad041429a2477177133fe4932159fJason Sams
120326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocationUploadToTexture {
121326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation alloc
122326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t baseMipLevel
123326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
124326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
125326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocationUploadToBufferObject {
126326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation alloc
127326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
128326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
129326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
130326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocationData {
131326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation va
132326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param const void * data
1339397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams	param uint32_t bytes
1349397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams	handcodeApi
1359397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams	togglePlay
136d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams	}
137326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
138326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocation1DSubData {
139326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation va
140326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t xoff
141326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t count
142326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param const void *data
1439397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams	param uint32_t bytes
1449397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams	handcodeApi
1459397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams	togglePlay
146d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams	}
147326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
148326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocation2DSubData {
149326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation va
150326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t xoff
151326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t yoff
152326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t w
153326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t h
154326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param const void *data
1559397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams	param uint32_t bytes
156326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
157326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
158e579df42e85d9e00f53c42ef1b78dbd209dba989Jason SamsAllocationRead {
159e579df42e85d9e00f53c42ef1b78dbd209dba989Jason Sams	param RsAllocation va
160e579df42e85d9e00f53c42ef1b78dbd209dba989Jason Sams	param void * data
161e579df42e85d9e00f53c42ef1b78dbd209dba989Jason Sams	}
162326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
163326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter1DCreate {
164326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsAdapter1D
165326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
166326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
167326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter1DBindAllocation {
168326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAdapter1D adapt
169326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation alloc
170326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
171326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
172326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter1DSetConstraint {
173326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAdapter1D adapter
174326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsDimension dim
175326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t value
176326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
177326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
178326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter1DData {
179326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAdapter1D adapter
180326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param const void * data
181d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams	}
182326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
183326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter1DSubData {
184326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAdapter1D adapter
185326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t xoff
186326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t count
187326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param const void *data
188d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams	}
189326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
190326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter2DCreate {
191326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsAdapter2D
192326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
193326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
194326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter2DBindAllocation {
195326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAdapter2D adapt
196326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation alloc
197326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
198326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
199326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter2DSetConstraint {
200326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAdapter2D adapter
201326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsDimension dim
202326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t value
203326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
204326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
205326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter2DData {
206326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAdapter2D adapter
207326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param const void *data
208d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams	}
209326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
210326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter2DSubData {
211326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAdapter2D adapter
212326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t xoff
213326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t yoff
214326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t w
215326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t h
216326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param const void *data
217326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
218326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
219326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsSamplerBegin {
220326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
221326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
222326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsSamplerSet {
223326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsSamplerParam p
224326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsSamplerValue value
225326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
226326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
227326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsSamplerCreate {
228326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsSampler
229326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
230326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
231326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
232326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsTriangleMeshBegin {
233326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsElement vertex
234326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsElement index
235326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
236326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
237326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsTriangleMeshAddVertex {
238326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param const void *vtx
239326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
240326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
241326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsTriangleMeshAddTriangle {
242326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t idx1
243326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t idx2
244326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t idx3
245326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
246326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
247326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsTriangleMeshCreate {
248326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsTriangleMesh
249326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
250326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
251326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
252326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsTriangleMeshRender {
253326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsTriangleMesh vtm
254326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
255326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
256326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsTriangleMeshRenderRange {
257326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsTriangleMesh vtm
258326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t start
259326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t count
260326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
261326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
262326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
263326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptBindAllocation {
264326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsScript vtm
265326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation va
266326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t slot
267326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
268326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
269326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
270326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptCBegin {
271326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
272326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
273d34b725ac1752f5a234c7643a0b65245591ea1ccJason SamsScriptSetClearColor {
274d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams	param RsScript s
275326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param float r
276326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param float g
277326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param float b
278326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param float a
279326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
280326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
281d34b725ac1752f5a234c7643a0b65245591ea1ccJason SamsScriptSetTimeZone {
282d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams	param RsScript s
28398e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy	param const char * timeZone
28498e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy	param uint32_t length
28598e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy	}
28698e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy
287d34b725ac1752f5a234c7643a0b65245591ea1ccJason SamsScriptSetClearDepth {
288d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams	param RsScript s
289326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param float depth
290326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
291326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
292d34b725ac1752f5a234c7643a0b65245591ea1ccJason SamsScriptSetClearStencil {
293d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams	param RsScript s
294326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t stencil
295326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
296326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
297fa51719e6c1bd17b3f347477b4827face9ab647eJason SamsScriptSetType {
298326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsType type
299fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams	param uint32_t slot
30090b36a88cf0cc549b296ac15a249ea7786c6de9eJason Sams	param bool isWritable
301fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams	param const char * name
302326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
303326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
3048c6bc6930d4996b897de8e5113da4a4efae2310cJason SamsScriptSetInvoke {
3058c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams	param const char * name
3068c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams	param uint32_t slot
3078c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams	}
3088c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams
3098c6bc6930d4996b897de8e5113da4a4efae2310cJason SamsScriptInvoke {
3108c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams	param RsScript s
3118c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams	param uint32_t slot
3128c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams	}
3138c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams
314fa51719e6c1bd17b3f347477b4827face9ab647eJason SamsScriptSetRoot {
315326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool isRoot
316326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
317326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
318fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams
319fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams
320326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptCSetScript {
3211ef8b80bc49f415b93912fe7335f852953bde4a4Jack Palevich	param void * codePtr
322326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
323326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
3241f52633fefd1862451e6a30209d590680d02beecJason SamsScriptCSetText {
3251f52633fefd1862451e6a30209d590680d02beecJason Sams	param const char * text
3261f52633fefd1862451e6a30209d590680d02beecJason Sams	param uint32_t length
3271f52633fefd1862451e6a30209d590680d02beecJason Sams	}
3281f52633fefd1862451e6a30209d590680d02beecJason Sams
329326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptCCreate {
330326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsScript
331326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
332326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
33357b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe OnoratoScriptCSetDefineF {
33457b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato    param const char* name
33557b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato    param float value
33657b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato    }
33757b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato
33857b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe OnoratoScriptCSetDefineI32 {
33957b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato    param const char* name
34057b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato    param int32_t value
34157b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato    }
342326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
343326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentStoreBegin {
344326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsElement in
345326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsElement out
346326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
347326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
348326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentStoreColorMask {
349326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool r
350326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool g
351326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool b
352326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool a
353326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
354326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
355326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentStoreBlendFunc {
356326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsBlendSrcFunc srcFunc
357326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsBlendDstFunc destFunc
358326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
359326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
360326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentStoreDepthMask {
361326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool enable
362326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams}
363326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
364326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentStoreDither {
365326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool enable
366326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams}
367326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
368326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentStoreDepthFunc {
369326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsDepthFunc func
370326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams}
371326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
372326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentStoreCreate {
373326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsProgramFragmentStore
374326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
375326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
3765fd09d847586f9680b4f495413b6ca5fbb69af6eJason SamsProgramRasterCreate {
3775fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param RsElement in
3785fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param RsElement out
3795fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param bool pointSmooth
3805fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param bool lineSmooth
3815fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param bool pointSprite
3825fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	ret RsProgramRaster
3835fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams}
3845fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams
3855fd09d847586f9680b4f495413b6ca5fbb69af6eJason SamsProgramRasterSetLineWidth {
3865fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param RsProgramRaster pr
3875fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param float lw
3885fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams}
3895fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams
3905fd09d847586f9680b4f495413b6ca5fbb69af6eJason SamsProgramRasterSetPointSize{
3915fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param RsProgramRaster pr
3925fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param float ps
3935fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams}
394326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
395326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
396326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentBegin {
397326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsElement in
398326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsElement out
399e0158410a2fedef43f5a2848c28393ad611e8cadJason Sams	param bool pointSpriteEnable
400326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
401326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
402326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentBindTexture {
403326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsProgramFragment pf
404326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t slot
405326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation a
406326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
407326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
408326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentBindSampler {
409326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsProgramFragment pf
410326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t slot
411326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsSampler s
412326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
413326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
414e0158410a2fedef43f5a2848c28393ad611e8cadJason SamsProgramFragmentSetSlot {
415326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t slot
416326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool enable
417e0158410a2fedef43f5a2848c28393ad611e8cadJason Sams	param RsTexEnvMode env
418e0158410a2fedef43f5a2848c28393ad611e8cadJason Sams	param RsType t
419326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
420326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
421326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentCreate {
422326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsProgramFragment
423326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
424326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
425326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
426326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramVertexBegin {
427326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsElement in
428326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsElement out
429326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
430326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
431326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramVertexCreate {
432326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsProgramVertex
433326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
434326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
435326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramVertexBindAllocation {
436326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsProgramVertex vpgm
437326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation constants
438326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
439326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
440326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramVertexSetTextureMatrixEnable {
441326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool enable
442326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
443326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
444b5909ce06dd10dcb5ac715572a05b2d225b77c98Jason SamsProgramVertexAddLight {
445b5909ce06dd10dcb5ac715572a05b2d225b77c98Jason Sams	param RsLight light
446b5909ce06dd10dcb5ac715572a05b2d225b77c98Jason Sams	}
447b5909ce06dd10dcb5ac715572a05b2d225b77c98Jason Sams
44862bc1db27ba17f7eed0a6dfb639da7326753b268Jason SamsLightBegin {
44962bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	}
45062bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams
45162bc1db27ba17f7eed0a6dfb639da7326753b268Jason SamsLightSetLocal {
45262bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	param bool isLocal
45362bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	}
45462bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams
45562bc1db27ba17f7eed0a6dfb639da7326753b268Jason SamsLightSetMonochromatic {
45662bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	param bool isMono
45762bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	}
45862bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams
45962bc1db27ba17f7eed0a6dfb639da7326753b268Jason SamsLightCreate {
46062bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	ret RsLight light
46162bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	}
46262bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams
46362bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams
46462bc1db27ba17f7eed0a6dfb639da7326753b268Jason SamsLightSetPosition {
46562bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	param RsLight light
46662bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	param float x
46762bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	param float y
46862bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	param float z
46962bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	}
47062bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams
47162bc1db27ba17f7eed0a6dfb639da7326753b268Jason SamsLightSetColor {
47262bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	param RsLight light
47362bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	param float r
47462bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	param float g
47562bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	param float b
47662bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	}
47762bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams
478a5597fcd411badad50c1345b3eca26453da45bbbJason SamsFileOpen {
479a5597fcd411badad50c1345b3eca26453da45bbbJason Sams	ret RsFile
480a5597fcd411badad50c1345b3eca26453da45bbbJason Sams	param const char *name
481a5597fcd411badad50c1345b3eca26453da45bbbJason Sams	param size_t len
482a5597fcd411badad50c1345b3eca26453da45bbbJason Sams	}
483a5597fcd411badad50c1345b3eca26453da45bbbJason Sams
484a5597fcd411badad50c1345b3eca26453da45bbbJason Sams
485e5ffb879ae535a899a486285a23bea05e912480fJason SamsSimpleMeshCreate {
486e5ffb879ae535a899a486285a23bea05e912480fJason Sams	ret RsSimpleMesh
487e5ffb879ae535a899a486285a23bea05e912480fJason Sams	param RsAllocation prim
488e5ffb879ae535a899a486285a23bea05e912480fJason Sams	param RsAllocation index
489e5ffb879ae535a899a486285a23bea05e912480fJason Sams	param RsAllocation *vtx
490e5ffb879ae535a899a486285a23bea05e912480fJason Sams	param uint32_t vtxCount
491e5ffb879ae535a899a486285a23bea05e912480fJason Sams	param uint32_t primType
492e5ffb879ae535a899a486285a23bea05e912480fJason Sams	}
493e5ffb879ae535a899a486285a23bea05e912480fJason Sams
494e5ffb879ae535a899a486285a23bea05e912480fJason Sams
495e5ffb879ae535a899a486285a23bea05e912480fJason SamsSimpleMeshBindIndex {
496e5ffb879ae535a899a486285a23bea05e912480fJason Sams	param RsSimpleMesh mesh
497e5ffb879ae535a899a486285a23bea05e912480fJason Sams	param RsAllocation idx
498e5ffb879ae535a899a486285a23bea05e912480fJason Sams	}
499e5ffb879ae535a899a486285a23bea05e912480fJason Sams
500e5ffb879ae535a899a486285a23bea05e912480fJason SamsSimpleMeshBindPrimitive {
501e5ffb879ae535a899a486285a23bea05e912480fJason Sams	param RsSimpleMesh mesh
502e5ffb879ae535a899a486285a23bea05e912480fJason Sams	param RsAllocation prim
503e5ffb879ae535a899a486285a23bea05e912480fJason Sams	}
504e5ffb879ae535a899a486285a23bea05e912480fJason Sams
505e5ffb879ae535a899a486285a23bea05e912480fJason SamsSimpleMeshBindVertex {
506e5ffb879ae535a899a486285a23bea05e912480fJason Sams	param RsSimpleMesh mesh
507e5ffb879ae535a899a486285a23bea05e912480fJason Sams	param RsAllocation vtx
508e5ffb879ae535a899a486285a23bea05e912480fJason Sams	param uint32_t slot
509e5ffb879ae535a899a486285a23bea05e912480fJason Sams	}
510e5ffb879ae535a899a486285a23bea05e912480fJason Sams
511