1#[repr(C)]
2#[derive(Debug, Copy, Clone)]
3pub struct ScePspSRect {
4 pub x: i16,
5 pub y: i16,
6 pub w: i16,
7 pub h: i16,
8}
9
10#[repr(C)]
11#[derive(Debug, Copy, Clone)]
12pub struct ScePspIRect {
13 pub x: i32,
14 pub y: i32,
15 pub w: i32,
16 pub h: i32,
17}
18
19#[repr(C)]
20#[derive(Debug, Copy, Clone)]
21pub struct ScePspL64Rect {
22 pub x: u64,
23 pub y: u64,
24 pub w: u64,
25 pub h: u64,
26}
27
28#[repr(C)]
29#[derive(Debug, Copy, Clone)]
30pub struct ScePspFRect {
31 pub x: f32,
32 pub y: f32,
33 pub w: f32,
34 pub h: f32,
35}
36
37#[repr(C)]
38#[derive(Debug, Copy, Clone)]
39pub struct ScePspSVector2 {
40 pub x: i16,
41 pub y: i16,
42}
43
44#[repr(C)]
45#[derive(Debug, Copy, Clone)]
46pub struct ScePspIVector2 {
47 pub x: i32,
48 pub y: i32,
49}
50
51#[repr(C)]
52#[derive(Debug, Copy, Clone)]
53pub struct ScePspL64Vector2 {
54 pub x: u64,
55 pub y: u64,
56}
57
58#[repr(C)]
59#[derive(Debug, Copy, Clone)]
60pub struct ScePspFVector2 {
61 pub x: f32,
62 pub y: f32,
63}
64
65#[repr(C)]
66#[derive(Copy, Clone)]
67pub union ScePspVector2 {
68 pub fv: ScePspFVector2,
69 pub iv: ScePspIVector2,
70 pub f: [f32; 2usize],
71 pub i: [i32; 2usize],
72}
73
74#[repr(C)]
75#[derive(Debug, Copy, Clone)]
76pub struct ScePspSVector3 {
77 pub x: i16,
78 pub y: i16,
79 pub z: i16,
80}
81
82#[repr(C)]
83#[derive(Debug, Copy, Clone)]
84pub struct ScePspIVector3 {
85 pub x: i32,
86 pub y: i32,
87 pub z: i32,
88}
89
90#[repr(C)]
91#[derive(Debug, Copy, Clone)]
92pub struct ScePspL64Vector3 {
93 pub x: u64,
94 pub y: u64,
95 pub z: u64,
96}
97
98#[repr(C, align(16))]
102#[derive(Debug, Copy, Clone)]
103pub struct ScePspFVector3 {
104 pub x: f32,
105 pub y: f32,
106 pub z: f32,
107}
108
109#[repr(C)]
110#[derive(Copy, Clone)]
111pub union ScePspVector3 {
112 pub fv: ScePspFVector3,
113 pub iv: ScePspIVector3,
114 pub f: [f32; 3usize],
115 pub i: [i32; 3usize],
116}
117
118#[repr(C)]
119#[derive(Debug, Copy, Clone)]
120pub struct ScePspSVector4 {
121 pub x: i16,
122 pub y: i16,
123 pub z: i16,
124 pub w: i16,
125}
126
127#[repr(C)]
128#[derive(Debug, Copy, Clone)]
129pub struct ScePspIVector4 {
130 pub x: i32,
131 pub y: i32,
132 pub z: i32,
133 pub w: i32,
134}
135
136#[repr(C)]
137#[derive(Debug, Copy, Clone)]
138pub struct ScePspL64Vector4 {
139 pub x: u64,
140 pub y: u64,
141 pub z: u64,
142 pub w: u64,
143}
144
145#[repr(C, align(16))]
146#[derive(Debug, Copy, Clone)]
147pub struct ScePspFVector4 {
148 pub x: f32,
149 pub y: f32,
150 pub z: f32,
151 pub w: f32,
152}
153
154#[repr(C)]
155#[derive(Debug, Copy, Clone)]
156pub struct ScePspFVector4Unaligned {
157 pub x: f32,
158 pub y: f32,
159 pub z: f32,
160 pub w: f32,
161}
162
163#[repr(C, align(16))]
164#[derive(Copy, Clone)]
165pub union ScePspVector4 {
166 pub fv: ScePspFVector4,
167 pub iv: ScePspIVector4,
168 pub qw: u128,
169 pub f: [f32; 4usize],
170 pub i: [i32; 4usize],
171}
172
173#[repr(C)]
174#[derive(Debug, Copy, Clone)]
175pub struct ScePspIMatrix2 {
176 pub x: ScePspIVector2,
177 pub y: ScePspIVector2,
178}
179
180#[repr(C)]
181#[derive(Debug, Copy, Clone)]
182pub struct ScePspFMatrix2 {
183 pub x: ScePspFVector2,
184 pub y: ScePspFVector2,
185}
186
187#[repr(C)]
188#[derive(Copy, Clone)]
189pub union ScePspMatrix2 {
190 pub fm: ScePspFMatrix2,
191 pub im: ScePspIMatrix2,
192 pub fv: [ScePspFVector2; 2usize],
193 pub iv: [ScePspIVector2; 2usize],
194 pub v: [ScePspVector2; 2usize],
195 pub f: [[f32; 2usize]; 2usize],
196 pub i: [[i32; 2usize]; 2usize],
197}
198
199#[repr(C)]
200#[derive(Debug, Copy, Clone)]
201pub struct ScePspIMatrix3 {
202 pub x: ScePspIVector3,
203 pub y: ScePspIVector3,
204 pub z: ScePspIVector3,
205}
206
207#[repr(C)]
208#[derive(Debug, Copy, Clone)]
209pub struct ScePspFMatrix3 {
210 pub x: ScePspFVector3,
211 pub y: ScePspFVector3,
212 pub z: ScePspFVector3,
213}
214
215#[repr(C)]
216#[derive(Copy, Clone)]
217pub union ScePspMatrix3 {
218 pub fm: ScePspFMatrix3,
219 pub im: ScePspIMatrix3,
220 pub fv: [ScePspFVector3; 3usize],
221 pub iv: [ScePspIVector3; 3usize],
222 pub v: [ScePspVector3; 3usize],
223 pub f: [[f32; 3usize]; 3usize],
224 pub i: [[i32; 3usize]; 3usize],
225}
226
227#[repr(C, align(16))]
228#[derive(Debug, Copy, Clone)]
229pub struct ScePspIMatrix4 {
230 pub x: ScePspIVector4,
231 pub y: ScePspIVector4,
232 pub z: ScePspIVector4,
233 pub w: ScePspIVector4,
234}
235
236#[repr(C)]
237#[derive(Debug, Copy, Clone)]
238pub struct ScePspIMatrix4Unaligned {
239 pub x: ScePspIVector4,
240 pub y: ScePspIVector4,
241 pub z: ScePspIVector4,
242 pub w: ScePspIVector4,
243}
244
245#[repr(C, align(16))]
246#[derive(Debug, Copy, Clone)]
247pub struct ScePspFMatrix4 {
248 pub x: ScePspFVector4,
249 pub y: ScePspFVector4,
250 pub z: ScePspFVector4,
251 pub w: ScePspFVector4,
252}
253
254#[repr(C)]
255#[derive(Debug, Copy, Clone)]
256pub struct ScePspFMatrix4Unaligned {
257 pub x: ScePspFVector4,
258 pub y: ScePspFVector4,
259 pub z: ScePspFVector4,
260 pub w: ScePspFVector4,
261}
262
263#[repr(C)]
264#[derive(Copy, Clone)]
265pub union ScePspMatrix4 {
266 pub fm: ScePspFMatrix4,
267 pub im: ScePspIMatrix4,
268 pub fv: [ScePspFVector4; 4usize],
269 pub iv: [ScePspIVector4; 4usize],
270 pub v: [ScePspVector4; 4usize],
271 pub f: [[f32; 4usize]; 4usize],
272 pub i: [[i32; 4usize]; 4usize],
273}