rs.spec revision 86f1b23aaaf9b8822a009d8c3e585e46768abb6a
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
3386f1b23aaaf9b8822a009d8c3e585e46768abb6aJason SamsContextPause {
3486f1b23aaaf9b8822a009d8c3e585e46768abb6aJason Sams	}
3586f1b23aaaf9b8822a009d8c3e585e46768abb6aJason Sams
3686f1b23aaaf9b8822a009d8c3e585e46768abb6aJason SamsContextResume {
3786f1b23aaaf9b8822a009d8c3e585e46768abb6aJason Sams	}
3886f1b23aaaf9b8822a009d8c3e585e46768abb6aJason Sams
39a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason SamsAssignName {
40a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason Sams	param void *obj
41a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason Sams	param const char *name
42a4a54e42fc710a62b47cbcb9d64c34a190429d9eJason Sams	param size_t len
43a0a1b6fbece2eb8d72d788422ab3e5f58d5a9216Jason Sams	}
44326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
45707aaf341a4b068e6ccadf923af85acdd85fd775Jason SamsObjDestroy {
46707aaf341a4b068e6ccadf923af85acdd85fd775Jason Sams	param void *obj
47707aaf341a4b068e6ccadf923af85acdd85fd775Jason Sams	}
48707aaf341a4b068e6ccadf923af85acdd85fd775Jason Sams
49326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsElementBegin {
50326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams}
51326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
52326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsElementAdd {
53326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsDataKind dataKind
54326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsDataType dataType
55326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool isNormalized
56326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param size_t bits
578b2c065dfc16c148e2829a19e83d2269b9bcd4ccJason Sams	param const char * name
58326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
59326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
60326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsElementCreate {
61326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsElement
62326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
63326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
64326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsTypeBegin {
65326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsElement type
66326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
67326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
68326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsTypeAdd {
69326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsDimension dim
70326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param size_t value
71326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
72326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
73326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsTypeCreate {
74326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsType
75326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
76326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
77326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocationCreateTyped {
78326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsType type
79326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsAllocation
80326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
81326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
82326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocationCreateSized {
83326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsElement e
84326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param size_t count
85326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsAllocation
86326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
87326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
886678e9b2568ad041429a2477177133fe4932159fJason SamsAllocationCreateFromBitmap {
896678e9b2568ad041429a2477177133fe4932159fJason Sams	param uint32_t width
906678e9b2568ad041429a2477177133fe4932159fJason Sams	param uint32_t height
91a57c0a72c3b3babc2757d081ff8146ebaa2caf4cJason Sams	param RsElement dstFmt
92a57c0a72c3b3babc2757d081ff8146ebaa2caf4cJason Sams	param RsElement srcFmt
936678e9b2568ad041429a2477177133fe4932159fJason Sams	param bool genMips
946678e9b2568ad041429a2477177133fe4932159fJason Sams	param const void * data
956678e9b2568ad041429a2477177133fe4932159fJason Sams	ret RsAllocation
966678e9b2568ad041429a2477177133fe4932159fJason Sams	}
976678e9b2568ad041429a2477177133fe4932159fJason Sams
98c9d43db4d216b01b13aebfdb31d5615909591b33Jason SamsAllocationCreateFromBitmapBoxed {
99c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams	param uint32_t width
100c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams	param uint32_t height
101a57c0a72c3b3babc2757d081ff8146ebaa2caf4cJason Sams	param RsElement dstFmt
102a57c0a72c3b3babc2757d081ff8146ebaa2caf4cJason Sams	param RsElement srcFmt
103c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams	param bool genMips
104c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams	param const void * data
105c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams	ret RsAllocation
106c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams	}
107c9d43db4d216b01b13aebfdb31d5615909591b33Jason Sams
1086678e9b2568ad041429a2477177133fe4932159fJason Sams
109326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocationUploadToTexture {
110326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation alloc
111326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t baseMipLevel
112326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
113326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
114326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocationUploadToBufferObject {
115326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation alloc
116326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
117326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
118326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
119326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocationData {
120326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation va
121326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param const void * data
1229397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams	param uint32_t bytes
1239397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams	handcodeApi
1249397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams	togglePlay
125d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams	}
126326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
127326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocation1DSubData {
128326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation va
129326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t xoff
130326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t count
131326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param const void *data
1329397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams	param uint32_t bytes
1339397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams	handcodeApi
1349397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams	togglePlay
135d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams	}
136326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
137326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAllocation2DSubData {
138326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation va
139326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t xoff
140326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t yoff
141326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t w
142326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t h
143326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param const void *data
1449397e30ce5fe3f6af9212a93b490836b04fdfffaJason Sams	param uint32_t bytes
145326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
146326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
147e579df42e85d9e00f53c42ef1b78dbd209dba989Jason SamsAllocationRead {
148e579df42e85d9e00f53c42ef1b78dbd209dba989Jason Sams	param RsAllocation va
149e579df42e85d9e00f53c42ef1b78dbd209dba989Jason Sams	param void * data
150e579df42e85d9e00f53c42ef1b78dbd209dba989Jason Sams	}
151326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
152326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter1DCreate {
153326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsAdapter1D
154326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
155326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
156326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter1DBindAllocation {
157326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAdapter1D adapt
158326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation alloc
159326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
160326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
161326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter1DSetConstraint {
162326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAdapter1D adapter
163326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsDimension dim
164326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t value
165326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
166326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
167326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter1DData {
168326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAdapter1D adapter
169326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param const void * data
170d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams	}
171326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
172326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter1DSubData {
173326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAdapter1D adapter
174326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t xoff
175326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t count
176326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param const void *data
177d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams	}
178326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
179326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter2DCreate {
180326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsAdapter2D
181326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
182326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
183326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter2DBindAllocation {
184326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAdapter2D adapt
185326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation alloc
186326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
187326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
188326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter2DSetConstraint {
189326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAdapter2D adapter
190326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsDimension dim
191326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t value
192326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
193326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
194326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter2DData {
195326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAdapter2D adapter
196326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param const void *data
197d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams	}
198326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
199326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsAdapter2DSubData {
200326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAdapter2D adapter
201326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t xoff
202326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t yoff
203326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t w
204326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t h
205326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param const void *data
206326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
207326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
208326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsSamplerBegin {
209326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
210326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
211326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsSamplerSet {
212326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsSamplerParam p
213326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsSamplerValue value
214326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
215326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
216326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsSamplerCreate {
217326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsSampler
218326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
219326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
220326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
221326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
222326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptBindAllocation {
223326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsScript vtm
224326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation va
225326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t slot
226326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
227326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
228326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
229326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptCBegin {
230326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
231326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
232d34b725ac1752f5a234c7643a0b65245591ea1ccJason SamsScriptSetClearColor {
233d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams	param RsScript s
234326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param float r
235326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param float g
236326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param float b
237326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param float a
238326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
239326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
240d34b725ac1752f5a234c7643a0b65245591ea1ccJason SamsScriptSetTimeZone {
241d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams	param RsScript s
24298e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy	param const char * timeZone
24398e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy	param uint32_t length
24498e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy	}
24598e10fd7438f2e925e7fb5c2ec97c1f8cc583634Romain Guy
246d34b725ac1752f5a234c7643a0b65245591ea1ccJason SamsScriptSetClearDepth {
247d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams	param RsScript s
248326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param float depth
249326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
250326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
251d34b725ac1752f5a234c7643a0b65245591ea1ccJason SamsScriptSetClearStencil {
252d34b725ac1752f5a234c7643a0b65245591ea1ccJason Sams	param RsScript s
253326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t stencil
254326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
255326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
256fa51719e6c1bd17b3f347477b4827face9ab647eJason SamsScriptSetType {
257326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsType type
258fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams	param uint32_t slot
25990b36a88cf0cc549b296ac15a249ea7786c6de9eJason Sams	param bool isWritable
260fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams	param const char * name
261326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
262326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
2638c6bc6930d4996b897de8e5113da4a4efae2310cJason SamsScriptSetInvoke {
2648c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams	param const char * name
2658c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams	param uint32_t slot
2668c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams	}
2678c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams
2688c6bc6930d4996b897de8e5113da4a4efae2310cJason SamsScriptInvoke {
2698c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams	param RsScript s
2708c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams	param uint32_t slot
2718c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams	}
2728c6bc6930d4996b897de8e5113da4a4efae2310cJason Sams
273fa51719e6c1bd17b3f347477b4827face9ab647eJason SamsScriptSetRoot {
274326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool isRoot
275326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
276326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
277fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams
278fa51719e6c1bd17b3f347477b4827face9ab647eJason Sams
279326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptCSetScript {
2801ef8b80bc49f415b93912fe7335f852953bde4a4Jack Palevich	param void * codePtr
281326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
282326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
2831f52633fefd1862451e6a30209d590680d02beecJason SamsScriptCSetText {
2841f52633fefd1862451e6a30209d590680d02beecJason Sams	param const char * text
2851f52633fefd1862451e6a30209d590680d02beecJason Sams	param uint32_t length
2861f52633fefd1862451e6a30209d590680d02beecJason Sams	}
2871f52633fefd1862451e6a30209d590680d02beecJason Sams
288326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsScriptCCreate {
289326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsScript
290326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
291326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
29257b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe OnoratoScriptCSetDefineF {
29357b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato    param const char* name
29457b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato    param float value
29557b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato    }
29657b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato
29757b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe OnoratoScriptCSetDefineI32 {
29857b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato    param const char* name
29957b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato    param int32_t value
30057b79ceb1126e3797fa42367b97dd7bcfcda1ed9Joe Onorato    }
301326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
302326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentStoreBegin {
303326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsElement in
304326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsElement out
305326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
306326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
307326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentStoreColorMask {
308326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool r
309326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool g
310326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool b
311326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool a
312326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
313326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
314326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentStoreBlendFunc {
315326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsBlendSrcFunc srcFunc
316326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsBlendDstFunc destFunc
317326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
318326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
319326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentStoreDepthMask {
320326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool enable
321326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams}
322326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
323326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentStoreDither {
324326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool enable
325326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams}
326326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
327326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentStoreDepthFunc {
328326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsDepthFunc func
329326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams}
330326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
331326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentStoreCreate {
332326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsProgramFragmentStore
333326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
334326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
3355fd09d847586f9680b4f495413b6ca5fbb69af6eJason SamsProgramRasterCreate {
3365fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param RsElement in
3375fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param RsElement out
3385fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param bool pointSmooth
3395fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param bool lineSmooth
3405fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param bool pointSprite
3415fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	ret RsProgramRaster
3425fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams}
3435fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams
3445fd09d847586f9680b4f495413b6ca5fbb69af6eJason SamsProgramRasterSetLineWidth {
3455fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param RsProgramRaster pr
3465fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param float lw
3475fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams}
3485fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams
3495fd09d847586f9680b4f495413b6ca5fbb69af6eJason SamsProgramRasterSetPointSize{
3505fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param RsProgramRaster pr
3515fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams	param float ps
3525fd09d847586f9680b4f495413b6ca5fbb69af6eJason Sams}
353326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
354326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
355326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentBegin {
356326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsElement in
357326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsElement out
358e0158410a2fedef43f5a2848c28393ad611e8cadJason Sams	param bool pointSpriteEnable
359326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
360326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
361326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentBindTexture {
362326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsProgramFragment pf
363326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t slot
364326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation a
365326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
366326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
367326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentBindSampler {
368326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsProgramFragment pf
369326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t slot
370326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsSampler s
371326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
372326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
373e0158410a2fedef43f5a2848c28393ad611e8cadJason SamsProgramFragmentSetSlot {
374326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param uint32_t slot
375326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool enable
376e0158410a2fedef43f5a2848c28393ad611e8cadJason Sams	param RsTexEnvMode env
377e0158410a2fedef43f5a2848c28393ad611e8cadJason Sams	param RsType t
378326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
379326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
380326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramFragmentCreate {
381326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsProgramFragment
382326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
383326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
384326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
385326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramVertexBegin {
386326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsElement in
387326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsElement out
388326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
389326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
390326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramVertexCreate {
391326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	ret RsProgramVertex
392326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
393326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
394326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramVertexBindAllocation {
395326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsProgramVertex vpgm
396326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param RsAllocation constants
397326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
398326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
399326e0ddf89e8df2837752fbfd7a014814b32082cJason SamsProgramVertexSetTextureMatrixEnable {
400326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	param bool enable
401326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams	}
402326e0ddf89e8df2837752fbfd7a014814b32082cJason Sams
403b5909ce06dd10dcb5ac715572a05b2d225b77c98Jason SamsProgramVertexAddLight {
404b5909ce06dd10dcb5ac715572a05b2d225b77c98Jason Sams	param RsLight light
405b5909ce06dd10dcb5ac715572a05b2d225b77c98Jason Sams	}
406b5909ce06dd10dcb5ac715572a05b2d225b77c98Jason Sams
40762bc1db27ba17f7eed0a6dfb639da7326753b268Jason SamsLightBegin {
40862bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	}
40962bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams
41062bc1db27ba17f7eed0a6dfb639da7326753b268Jason SamsLightSetLocal {
41162bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	param bool isLocal
41262bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	}
41362bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams
41462bc1db27ba17f7eed0a6dfb639da7326753b268Jason SamsLightSetMonochromatic {
41562bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	param bool isMono
41662bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	}
41762bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams
41862bc1db27ba17f7eed0a6dfb639da7326753b268Jason SamsLightCreate {
41962bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	ret RsLight light
42062bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	}
42162bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams
42262bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams
42362bc1db27ba17f7eed0a6dfb639da7326753b268Jason SamsLightSetPosition {
42462bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	param RsLight light
42562bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	param float x
42662bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	param float y
42762bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	param float z
42862bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	}
42962bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams
43062bc1db27ba17f7eed0a6dfb639da7326753b268Jason SamsLightSetColor {
43162bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	param RsLight light
43262bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	param float r
43362bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	param float g
43462bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	param float b
43562bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams	}
43662bc1db27ba17f7eed0a6dfb639da7326753b268Jason Sams
437a5597fcd411badad50c1345b3eca26453da45bbbJason SamsFileOpen {
438a5597fcd411badad50c1345b3eca26453da45bbbJason Sams	ret RsFile
439a5597fcd411badad50c1345b3eca26453da45bbbJason Sams	param const char *name
440a5597fcd411badad50c1345b3eca26453da45bbbJason Sams	param size_t len
441a5597fcd411badad50c1345b3eca26453da45bbbJason Sams	}
442a5597fcd411badad50c1345b3eca26453da45bbbJason Sams
443a5597fcd411badad50c1345b3eca26453da45bbbJason Sams
444e5ffb879ae535a899a486285a23bea05e912480fJason SamsSimpleMeshCreate {
445e5ffb879ae535a899a486285a23bea05e912480fJason Sams	ret RsSimpleMesh
446e5ffb879ae535a899a486285a23bea05e912480fJason Sams	param RsAllocation prim
447e5ffb879ae535a899a486285a23bea05e912480fJason Sams	param RsAllocation index
448e5ffb879ae535a899a486285a23bea05e912480fJason Sams	param RsAllocation *vtx
449e5ffb879ae535a899a486285a23bea05e912480fJason Sams	param uint32_t vtxCount
450e5ffb879ae535a899a486285a23bea05e912480fJason Sams	param uint32_t primType
451e5ffb879ae535a899a486285a23bea05e912480fJason Sams	}
452e5ffb879ae535a899a486285a23bea05e912480fJason Sams
453e5ffb879ae535a899a486285a23bea05e912480fJason Sams
454e5ffb879ae535a899a486285a23bea05e912480fJason SamsSimpleMeshBindIndex {
455e5ffb879ae535a899a486285a23bea05e912480fJason Sams	param RsSimpleMesh mesh
456e5ffb879ae535a899a486285a23bea05e912480fJason Sams	param RsAllocation idx
457e5ffb879ae535a899a486285a23bea05e912480fJason Sams	}
458e5ffb879ae535a899a486285a23bea05e912480fJason Sams
459e5ffb879ae535a899a486285a23bea05e912480fJason SamsSimpleMeshBindPrimitive {
460e5ffb879ae535a899a486285a23bea05e912480fJason Sams	param RsSimpleMesh mesh
461e5ffb879ae535a899a486285a23bea05e912480fJason Sams	param RsAllocation prim
462e5ffb879ae535a899a486285a23bea05e912480fJason Sams	}
463e5ffb879ae535a899a486285a23bea05e912480fJason Sams
464e5ffb879ae535a899a486285a23bea05e912480fJason SamsSimpleMeshBindVertex {
465e5ffb879ae535a899a486285a23bea05e912480fJason Sams	param RsSimpleMesh mesh
466e5ffb879ae535a899a486285a23bea05e912480fJason Sams	param RsAllocation vtx
467e5ffb879ae535a899a486285a23bea05e912480fJason Sams	param uint32_t slot
468e5ffb879ae535a899a486285a23bea05e912480fJason Sams	}
469e5ffb879ae535a899a486285a23bea05e912480fJason Sams
470