Rev 878 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 878 | Rev 879 | ||
---|---|---|---|
Line -... | Line 1... | ||
- | 1 | int ClearPixmap(io_clear_t *io) |
|
- | 2 | { |
|
- | 3 | u32_t ifl; |
|
- | 4 | u32_t *ring, write; |
|
- | 5 | ||
- | 6 | local_pixmap_t *dstpixmap; |
|
- | 7 | ||
- | 8 | dstpixmap = (io->dstpix == (void*)-1) ? &scr_pixmap : io->dstpix ; |
|
- | 9 | ||
- | 10 | ifl = safe_cli(); |
|
- | 11 | ||
- | 12 | #if R300_PIO |
|
- | 13 | ||
- | 14 | R5xxFIFOWait(6); |
|
- | 15 | ||
- | 16 | OUTREG(R5XX_DP_GUI_MASTER_CNTL, |
|
- | 17 | RADEON_GMC_DST_PITCH_OFFSET_CNTL | |
|
- | 18 | RADEON_GMC_BRUSH_SOLID_COLOR | |
|
- | 19 | RADEON_GMC_DST_32BPP | |
|
- | 20 | RADEON_GMC_SRC_DATATYPE_COLOR | |
|
- | 21 | R5XX_GMC_CLR_CMP_CNTL_DIS | |
|
- | 22 | R5XX_GMC_WR_MSK_DIS | |
|
- | 23 | R5XX_ROP3_P |
|
- | 24 | ); |
|
- | 25 | ||
- | 26 | OUTREG(R5XX_DP_BRUSH_FRGD_CLR, io->color); |
|
- | 27 | OUTREG(R5XX_DP_CNTL, R5XX_DST_X_LEFT_TO_RIGHT | R5XX_DST_Y_TOP_TO_BOTTOM); |
|
- | 28 | OUTREG(R5XX_DST_PITCH_OFFSET, dstpixmap->pitch_offset); |
|
- | 29 | OUTREG(R5XX_DST_Y_X, 0); |
|
- | 30 | OUTREG(R5XX_DST_WIDTH_HEIGHT,(dstpixmap->width<<16)|dstpixmap->height); |
|
- | 31 | ||
- | 32 | #else |
|
- | 33 | BEGIN_RING(); |
|
- | 34 | OUT_RING(CP_PACKET3(RADEON_CNTL_PAINT_MULTI, 4)); |
|
- | 35 | ||
- | 36 | OUT_RING(RADEON_GMC_DST_PITCH_OFFSET_CNTL | |
|
- | 37 | RADEON_GMC_BRUSH_SOLID_COLOR | |
|
- | 38 | RADEON_GMC_DST_32BPP | |
|
- | 39 | RADEON_GMC_SRC_DATATYPE_COLOR | |
|
- | 40 | R5XX_GMC_CLR_CMP_CNTL_DIS | |
|
- | 41 | R5XX_GMC_WR_MSK_DIS | |
|
- | 42 | R5XX_ROP3_P |
|
- | 43 | ); |
|
- | 44 | ||
- | 45 | OUT_RING(dstpixmap->pitch_offset); |
|
- | 46 | OUT_RING(io->color); |
|
- | 47 | OUT_RING( 0 ); |
|
- | 48 | OUT_RING((dstpixmap->width<<16)|dstpixmap->height); |
|
- | 49 | COMMIT_RING(); |
|
- | 50 | ||
- | 51 | #endif |
|
- | 52 | ||
- | 53 | safe_sti(ifl); |
|
- | 54 | ||
- | 55 | return ERR_OK; |
|
- | 56 | } |
|
- | 57 | ||
- | 58 | ||
- | 59 | int Line(io_draw_t *draw) |
|
1 | int Line(draw_t *draw) |
60 | { |
2 | { |
61 | local_pixmap_t *dstpixmap; |
3 | local_pixmap_t *dstpixmap; |
62 | clip_t clip; |
4 | clip_t clip; |
63 | int x0, y0, x1, y1; |
5 | int x0, y0, x1, y1; |
64 | |
Line 28... | Line 87... | ||
28 | 87 | R5xxFIFOWait(6); |
|
Line 29... | Line 88... | ||
29 | R5xxFIFOWait(6); |
88 | |
Line 30... | Line 89... | ||
30 | 89 | OUTREG(R5XX_DP_GUI_MASTER_CNTL, |
|
31 | OUTREG(R5XX_DP_GUI_MASTER_CNTL, |
90 | RADEON_GMC_DST_PITCH_OFFSET_CNTL | |
32 | rhd.gui_control | |
91 | RADEON_GMC_BRUSH_SOLID_COLOR | |
- | 92 | RADEON_GMC_DST_32BPP | |
|
33 | R5XX_GMC_BRUSH_SOLID_COLOR | |
93 | RADEON_GMC_SRC_DATATYPE_COLOR | |
34 | R5XX_GMC_SRC_DATATYPE_COLOR | |
94 | R5XX_GMC_CLR_CMP_CNTL_DIS | |
35 | R5XX_GMC_CLR_CMP_CNTL_DIS | |
95 | R5XX_GMC_WR_MSK_DIS | |
36 | R5XX_GMC_WR_MSK_DIS | |
96 | R5XX_ROP3_P |
37 | R5XX_ROP3_P |
97 | ); |
Line 66... | Line 126... | ||
66 | }; |
126 | return ERR_OK; |
67 | return ERR_OK; |
127 | } |
68 | } |
128 | |
69 | 129 | int DrawRect(io_draw_t* draw) |
|
Line 70... | Line 130... | ||
70 | int DrawRect(draw_t* draw) |
130 | { |
71 | { |
131 | int x0, y0, x1, y1, xend, yend; |
72 | int x0, y0, x1, y1, xend, yend; |
132 | |
Line 73... | Line 133... | ||
73 | 133 | local_pixmap_t *dstpixmap; |
|
74 | local_pixmap_t *dstpixmap; |
134 | clip_t dst_clip; |
Line 106... | Line 166... | ||
106 | 166 | R5xxFIFOWait(6); |
|
Line 107... | Line 167... | ||
107 | R5xxFIFOWait(6); |
167 | |
Line 108... | Line 168... | ||
108 | 168 | OUTREG(R5XX_DP_GUI_MASTER_CNTL, |
|
109 | OUTREG(R5XX_DP_GUI_MASTER_CNTL, |
169 | RADEON_GMC_DST_PITCH_OFFSET_CNTL | |
110 | rhd.gui_control | |
170 | RADEON_GMC_BRUSH_SOLID_COLOR | |
111 | R5XX_ROP3_P | |
171 | RADEON_GMC_DST_32BPP | |
112 | R5XX_GMC_BRUSH_SOLID_COLOR | |
172 | RADEON_GMC_SRC_DATATYPE_COLOR | |
113 | R5XX_GMC_SRC_DATATYPE_COLOR | |
173 | R5XX_GMC_CLR_CMP_CNTL_DIS | |
114 | R5XX_GMC_CLR_CMP_CNTL_DIS | |
174 | R5XX_GMC_WR_MSK_DIS | |
- | 175 | R5XX_ROP3_P |
|
115 | R5XX_GMC_WR_MSK_DIS |
176 | ); |
Line 116... | Line 177... | ||
116 | ); |
177 | |
117 | 178 | OUTREG(R5XX_DP_BRUSH_FRGD_CLR, draw->color); |
|
118 | OUTREG(R5XX_DP_BRUSH_FRGD_CLR, draw->color); |
179 | OUTREG(R5XX_DP_CNTL, R5XX_DST_X_LEFT_TO_RIGHT | R5XX_DST_Y_TOP_TO_BOTTOM); |
Line 180... | Line 241... | ||
180 | }; |
241 | return ERR_OK; |
181 | return ERR_OK; |
242 | } |
182 | } |
243 | |
183 | 244 | int FillRect(io_fill_t *fill) |
|
Line 184... | Line 245... | ||
184 | int FillRect(fill_t *fill) |
245 | { |
185 | { |
246 | local_pixmap_t *dstpixmap; |
186 | local_pixmap_t *dstpixmap; |
247 | clip_t dst_clip; |
187 | clip_t dst_clip; |
248 | int x0, y0, x1, y1, xend, yend; |
188 | int x0, y0, x1, y1; |
249 | |
Line 189... | Line 250... | ||
189 | 250 | dstpixmap = (fill->dstpix == (void*)-1) ? &scr_pixmap : fill->dstpix ; |
|
Line 190... | Line 251... | ||
190 | dstpixmap = (fill->dstpix == (void*)-1) ? &scr_pixmap : fill->dstpix ; |
251 | |
191 | 252 | x0 = fill->x; |
|
Line 192... | Line 253... | ||
192 | x0 = fill->x; |
253 | y0 = fill->y; |
193 | y0 = fill->y; |
254 | |
Line 194... | Line 255... | ||
194 | 255 | xend = x1 = x0 + fill->w - 1; |
|
195 | x1 = x0+fill->w-1; |
256 | yend = y1 = y0 + fill->h - 1; |
196 | y1 = y0+fill->h-1; |
257 | |
197 | 258 | dst_clip.xmin = 0; |
|
Line 235... | Line 296... | ||
235 | OUTREG(R5XX_DST_PITCH_OFFSET, dstpixmap->pitch_offset); |
296 | |
236 | 297 | OUTREG(R5XX_DST_Y_X,(y0<<16)|x0); |
|
Line 237... | Line 298... | ||
237 | OUTREG(R5XX_DST_Y_X,(y0<<16)|x0); |
298 | OUTREG(R5XX_DST_HEIGHT_WIDTH,(h<<16)|w); |
238 | OUTREG(R5XX_DST_HEIGHT_WIDTH,(h<<16)|w); |
299 | |
- | 300 | if( (fill->border & 0xFF000000) != 0) |
|
- | 301 | { |
|
239 | #else |
302 | R5xxFIFOWait(2); |
240 | BEGIN_RING(); |
303 | |
- | 304 | OUTREG(R5XX_DP_GUI_MASTER_CNTL, |
|
241 | OUT_RING(CP_PACKET3(RADEON_CNTL_PAINT, 7)); |
305 | RADEON_GMC_DST_PITCH_OFFSET_CNTL | |
242 | OUT_RING(RADEON_GMC_DST_PITCH_OFFSET_CNTL | |
306 | RADEON_GMC_BRUSH_SOLID_COLOR | |
243 | R5XX_GMC_BRUSH_8X8_MONO_FG_BG | |
307 | RADEON_GMC_DST_32BPP | |
244 | RADEON_GMC_DST_32BPP | |
308 | RADEON_GMC_SRC_DATATYPE_COLOR | |
245 | RADEON_GMC_SRC_DATATYPE_COLOR | |
309 | R5XX_GMC_CLR_CMP_CNTL_DIS | |
246 | R5XX_GMC_CLR_CMP_CNTL_DIS | |
310 | R5XX_GMC_WR_MSK_DIS | |
247 | R5XX_GMC_WR_MSK_DIS | |
311 | R5XX_ROP3_P |
248 | R5XX_ROP3_P |
312 | ); |
249 | ); |
313 | |
Line 250... | Line -... | ||
250 | - | ||
251 | OUT_RING(dstpixmap->pitch_offset); |
314 | OUTREG(R5XX_DP_BRUSH_FRGD_CLR, fill->border); |
252 | OUT_RING(fill->bkcolor); |
- | |
253 | OUT_RING(fill->fcolor); |
- | |
254 | - | ||
255 | OUT_RING(fill->bmp0); |
- | |
256 | OUT_RING(fill->bmp1); |
- | |
257 | - | ||
258 | OUT_RING((y0<<16)|x0); |
- | |
259 | OUT_RING((y1<<16)|x1); |
- | |
260 | COMMIT_RING(); |
- | |
261 | - | ||
262 | #endif |
- | |
263 | safe_sti(ifl); |
- | |
264 | }; |
- | |
265 | return ERR_OK; |
- | |
Line 266... | Line -... | ||
266 | }; |
- | |
267 | 315 | ||
268 | #if 0 |
316 | if( y0 == fill->y) |
269 | int Blit(blit_t *blit) |
317 | { |
270 | { |
- | |
271 | int x0, y0, x1, y1; |
- | |
272 | - | ||
273 | x0 = blit->src_x; |
- | |
274 | y0 = blit->src_y; |
- | |
275 | - | ||
276 | x1 = x0+blit->w-1; |
- | |
Line 277... | Line 318... | ||
277 | y1 = y0+blit->h-1; |
318 | R5xxFIFOWait(2); |
- | 319 | ||
- | 320 | OUTREG(R5XX_DST_Y_X,(y0<<16)|x0); |
|
- | 321 | OUTREG(R5XX_DST_WIDTH_HEIGHT,(w<<16)|1); |
|
- | 322 | y0++; |
|
- | 323 | h--; |
|
278 | 324 | } |
|
279 | 325 | if( y1 == yend ) |
|
280 | if( ! BlockClip(&clip, &x0, &y0, &x1, &y1)) |
- | |
281 | { |
- | |
Line -... | Line 326... | ||
- | 326 | { |
|
- | 327 | R5xxFIFOWait(2); |
|
282 | u32 *ring, write; |
328 | |
- | 329 | OUTREG(R5XX_DST_Y_X,(y1<<16)|x0); |
|
- | 330 | OUTREG(R5XX_DST_WIDTH_HEIGHT,(w<<16)|1); |
|
283 | int w, h; |
331 | h--; |
- | 332 | } |
|
Line -... | Line 333... | ||
- | 333 | if( x0 == fill->x) |
|
- | 334 | { |
|
- | 335 | R5xxFIFOWait(2); |
|
- | 336 | ||
- | 337 | OUTREG(R5XX_DST_Y_X,(y0<<16)|x0); |
|
284 | u32 ifl; |
338 | OUTREG(R5XX_DST_WIDTH_HEIGHT,(1<<16)|h); |
Line -... | Line 339... | ||
- | 339 | } |
|
- | 340 | if( x1 == xend) |
|
285 | 341 | { |
|
- | 342 | R5xxFIFOWait(2); |
|
Line 286... | Line 343... | ||
286 | w = x1-x0+1; |
343 | |
287 | h = y1-y0+1; |
- | |
288 | 344 | OUTREG(R5XX_DST_Y_X,(y0<<16)|x1); |
|
289 | ifl = safe_cli(); |
345 | OUTREG(R5XX_DST_WIDTH_HEIGHT,(1<<16)|h); |
290 | - | ||
291 | #if R300_PIO |
346 | } |
292 | - | ||
293 | 347 | }; |
|
294 | #else |
348 | |
295 | 349 | ||
- | 350 | #else |
|
296 | BEGIN_RING(); |
351 | BEGIN_RING(); |
297 | OUT_RING(CP_PACKET3(RADEON_CNTL_BITBLT, 5)); |
352 | OUT_RING(CP_PACKET3(RADEON_CNTL_PAINT, 7)); |
- | 353 | OUT_RING(RADEON_GMC_DST_PITCH_OFFSET_CNTL | |
|
Line 298... | Line 354... | ||
298 | 354 | R5XX_GMC_BRUSH_8X8_MONO_FG_BG | |
|
299 | OUT_RING(RADEON_GMC_SRC_PITCH_OFFSET_CNTL | |
355 | RADEON_GMC_DST_32BPP | |
- | 356 | RADEON_GMC_SRC_DATATYPE_COLOR | |
|
Line 300... | Line 357... | ||
300 | RADEON_GMC_DST_PITCH_OFFSET_CNTL | |
357 | R5XX_GMC_CLR_CMP_CNTL_DIS | |
- | 358 | R5XX_GMC_WR_MSK_DIS | |
|
- | 359 | R5XX_ROP3_P |
|
301 | RADEON_GMC_BRUSH_NONE | |
360 | ); |
302 | RADEON_GMC_DST_32BPP | |
361 | |
303 | RADEON_GMC_SRC_DATATYPE_COLOR | |
362 | OUT_RING(dstpixmap->pitch_offset); |
Line 304... | Line 363... | ||
304 | RADEON_DP_SRC_SOURCE_MEMORY | |
363 | OUT_RING(fill->bkcolor); |
305 | (1 << 28)+(1 << 30) | R5XX_ROP3_S); |
- | |
306 | 364 | OUT_RING(fill->fcolor); |
|
307 | OUT_RING(rhd.dst_pitch_offset); |
365 | |
308 | OUT_RING(rhd.dst_pitch_offset); |
366 | OUT_RING(fill->bmp0); |
309 | - | ||
310 | OUT_RING((x0<<16)|y0); |
- | |
311 | OUT_RING((blit->dst_x<<16)|blit->dst_y); |
- | |
312 | OUT_RING((w<<16)|h); |
- | |
313 | COMMIT_RING(); |
- | |
314 | - | ||
315 | #endif |
- | |
316 | - | ||
317 | safe_sti(ifl); |
- | |
318 | } ; |
- | |
319 | return ERR_OK; |
- | |
320 | } |
- | |
321 | - | ||
322 | #endif |
- | |
323 | - | ||
324 | - | ||
325 | #if 0 |
- | |
326 | - | ||
327 | int LockPixmap(userpixmap_t *io) |
- | |
328 | { |
- | |
329 | pixmap_t *pixmap; |
- | |
330 | size_t size; |
- | |
331 | void *usermap; |
- | |
332 | - | ||
333 | dbgprintf("Lock pixmap %x\n", io->pixmap); |
- | |
334 | - | ||
335 | if(io->pixmap == (pixmap_t*)-1) |
- | |
336 | return ERR_PARAM; |
- | |
337 | else |
- | |
338 | pixmap = io->pixmap; |
- | |
339 | - | ||
340 | if( (pixmap->flags & 1) == PX_LOCK ) |
- | |
341 | return ERR_PARAM; |
- | |
342 | - | ||
343 | size = (pixmap->pitch*pixmap->width+4095) & ~ 4095; |
- | |
344 | if (usermap = UserAlloc(size)) |
- | |
345 | { |
- | |
346 | CommitPages(usermap, ((u32_t)pixmap->raw+rhd.PhisBase)|7|(1<<9), size); |
367 | OUT_RING(fill->bmp1); |
Line 347... | Line -... | ||
347 | pixmap->flags |= PX_LOCK; |
- | |
348 | pixmap->usermap = usermap; |
- | |
349 | io->usermap = usermap; |
- | |
350 | io->pitch = pixmap->pitch; |
- | |
351 | dbgprintf("map at %x\n", io->usermap); |
- | |
352 | - | ||
Line 353... | Line -... | ||
353 | return ERR_OK; |
- | |
354 | } |
- | |
355 | else |
- | |
356 | return ERR_PARAM; |
- | |
357 | }; |
- | |
358 | - | ||
359 | int UnlockPixmap(userpixmap_t *io) |
- | |
360 | { |
- | |
361 | pixmap_t *pixmap; |
- | |
362 | size_t size; |
- | |
363 | - | ||
364 | dbgprintf("Unlock pixmap %x\n", io->pixmap); |
- | |
365 | - | ||
366 | if(io->pixmap == (pixmap_t*)-1) |
- | |
367 | return ERR_PARAM; |
- | |
368 | else |
- | |
369 | pixmap = io->pixmap; |
- | |
370 | - | ||
371 | if( (pixmap->flags & 1) != PX_LOCK ) |
- | |
372 | return ERR_PARAM; |
- | |
373 | - | ||
374 | /* Sanity checks */ |
- | |
375 | - | ||
376 | if( (pixmap->usermap == 0)|| |
- | |
377 | ((u32_t)pixmap->usermap >= 0x80000000) || |
- | |
378 | ((u32_t)pixmap->usermap & 4095) |
- | |
379 | ) |
- | |
Line 380... | Line -... | ||
380 | return ERR_PARAM; |
- | |
381 | - | ||
382 | size = (pixmap->pitch*pixmap->width+4095) & ~ 4095; |
368 | |
383 | 369 | OUT_RING((y0<<16)|x0); |
|
384 | UnmapPages(pixmap->usermap, size); |
370 | OUT_RING((y1<<16)|x1); |
Line 385... | Line 371... | ||
385 | UserFree(pixmap->usermap); |
371 | COMMIT_RING(); |
386 | pixmap->usermap = NULL; |
372 | |
Line 485... | Line 471... | ||
485 | return ERR_OK; |
471 | }; |
486 | }; |
472 | |
487 | 473 | ||
Line 488... | Line 474... | ||
488 | 474 | int BlitTransparent(io_blit_t *blit) |
|
489 | int TransBlit(pixblit_t *blit) |
475 | { |
490 | { |
476 | clip_t src_clip, dst_clip; |
Line 491... | Line 477... | ||
491 | clip_t src_clip, dst_clip; |
477 | |
492 | 478 | local_pixmap_t *srcpixmap; |
|
Line 584... | Line 570... | ||
584 | }; |
570 | return ERR_OK; |
585 | return ERR_OK; |
571 | } |
586 | }16)|blit-><16)|blit->16)|blit-><16)|blit->16)|blit-><16)|blit->16)|blit-><16)|blit->16)|blit-><16)|blit->16)|blit-><16)|blit->16)|blit-><16)|blit->16)|blit-><16)|blit->16)|blit-><16)|blit->16)|blit-><16)|blit->16)|blit-><16)|blit->16)|blit-><16)|blit->9),><9),>16)|h); |
572 | |
587 | ><16)|h); |
573 | |
Line -... | Line 574... | ||
- | 574 | #if 0 |
|
- | 575 | ||
- | 576 | int LockPixmap(userpixmap_t *io) |
|
- | 577 | { |
|
- | 578 | pixmap_t *pixmap; |
|
- | 579 | size_t size; |
|
- | 580 | void *usermap; |
|
- | 581 | ||
- | 582 | dbgprintf("Lock pixmap %x\n", io->pixmap); |
|
- | 583 | ||
- | 584 | if(io->pixmap == (pixmap_t*)-1) |
|
- | 585 | return ERR_PARAM; |
|
- | 586 | else |
|
- | 587 | pixmap = io->pixmap; |
|
- | 588 | ||
- | 589 | if( (pixmap->flags & 1) == PX_LOCK ) |
|
- | 590 | return ERR_PARAM; |
|
- | 591 | ||
- | 592 | size = (pixmap->pitch*pixmap->width+4095) & ~ 4095; |
|
- | 593 | if (usermap = UserAlloc(size)) |
|
- | 594 | { |
|
- | 595 | CommitPages(usermap, ((u32_t)pixmap->raw+rhd.PhisBase)|7|(1<<9), size); |
|
- | 596 | pixmap->flags |= PX_LOCK; |
|
- | 597 | pixmap->usermap = usermap; |
|
- | 598 | io->usermap = usermap; |
|
- | 599 | io->pitch = pixmap->pitch; |
|
- | 600 | dbgprintf("map at %x\n", io->usermap); |
|
- | 601 | ||
- | 602 | return ERR_OK; |
|
- | 603 | } |
|
- | 604 | else |
|
- | 605 | return ERR_PARAM; |
|
- | 606 | }; |
|
- | 607 | ||
- | 608 | int UnlockPixmap(userpixmap_t *io) |
|
- | 609 | { |
|
- | 610 | pixmap_t *pixmap; |
|
- | 611 | size_t size; |
|
- | 612 | ||
- | 613 | dbgprintf("Unlock pixmap %x\n", io->pixmap); |
|
- | 614 | ||
- | 615 | if(io->pixmap == (pixmap_t*)-1) |
|
- | 616 | return ERR_PARAM; |
|
- | 617 | else |
|
- | 618 | pixmap = io->pixmap; |
|
- | 619 | ||
- | 620 | if( (pixmap->flags & 1) != PX_LOCK ) |
|
- | 621 | return ERR_PARAM; |
|
- | 622 | ||
- | 623 | /* Sanity checks */ |
|
- | 624 | ||
- | 625 | if( (pixmap->usermap == 0)|| |
|
- | 626 | ((u32_t)pixmap->usermap >= 0x80000000) || |
|
- | 627 | ((u32_t)pixmap->usermap & 4095) |
|
- | 628 | ) |
|
- | 629 | return ERR_PARAM; |
|
- | 630 | ||
- | 631 | size = (pixmap->pitch*pixmap->width+4095) & ~ 4095; |
|
- | 632 | ||
- | 633 | UnmapPages(pixmap->usermap, size); |
|
- | 634 | UserFree(pixmap->usermap); |
|
- | 635 | pixmap->usermap = NULL; |
|
- | 636 | pixmap->flags &= ~PX_LOCK; |
|
- | 637 | io->usermap = NULL; |
|
- | 638 | io->pitch = 0; |
|
- | 639 | ||
- | 640 | return ERR_OK; |
|
- | 641 | }; |
|
- | 642 | ||
- | 643 | #endif9),><9),>16)|blit-><16)|blit->16)|blit-><16)|blit->16)|blit-><16)|blit->16)|blit-><16)|blit->16)|blit-><16)|blit->16)|blit-><16)|blit->16)|blit-><16)|blit->16)|blit-><16)|blit->16)|blit-><16)|blit->16)|blit-><16)|blit->16)|blit-><16)|blit->16)|blit-><16)|blit->16)|x1); |
|
- | 644 | ><16)|x1); |