Rev 817 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 817 | Rev 818 | ||
---|---|---|---|
Line 303... | Line 303... | ||
303 | return ERR_PARAM; |
303 | return ERR_PARAM; |
304 | else |
304 | else |
305 | pixmap = io->pixmap; |
305 | pixmap = io->pixmap; |
306 | 306 | ||
Line 307... | Line 307... | ||
307 | if(pixmap->flags & 1 == 1 ) |
307 | if( (pixmap->flags & 1) == PX_LOCK ) |
308 | return ERR_PARAM; |
308 | return ERR_PARAM; |
Line 309... | Line 309... | ||
309 | 309 | ||
310 | size = pixmap->pitch*pixmap->width; |
310 | size = (pixmap->pitch*pixmap->width+4095) & ~ 4095; |
311 | if (usermap = UserAlloc(size)) |
311 | if (usermap = UserAlloc(size)) |
312 | { |
312 | { |
313 | CommitPages(usermap, ((u32_t)pixmap->raw+rhd.PhisBase)|7|(1<<9), size); |
313 | CommitPages(usermap, ((u32_t)pixmap->raw+rhd.PhisBase)|7|(1<<9), size); |
314 | pixmap->flags |= 1; |
314 | pixmap->flags |= PX_LOCK; |
315 | pixmap->usermap = usermap; |
315 | pixmap->usermap = usermap; |
316 | io->usermap = usermap; |
316 | io->usermap = usermap; |
317 | io->pitch = pixmap->pitch; |
317 | io->pitch = pixmap->pitch; |
Line 322... | Line 322... | ||
322 | else |
322 | else |
323 | return ERR_PARAM; |
323 | return ERR_PARAM; |
324 | }; |
324 | }; |
325 | 325 | ||
Line -... | Line 326... | ||
- | 326 | int UnlockPixmap(userpixmap_t *io) |
|
- | 327 | { |
|
- | 328 | pixmap_t *pixmap; |
|
- | 329 | size_t size; |
|
- | 330 | ||
- | 331 | dbgprintf("Unlock pixmap %x\n", io->pixmap); |
|
- | 332 | ||
- | 333 | if(io->pixmap == (pixmap_t*)-1) |
|
- | 334 | return ERR_PARAM; |
|
- | 335 | else |
|
- | 336 | pixmap = io->pixmap; |
|
- | 337 | ||
- | 338 | if( (pixmap->flags & 1) != PX_LOCK ) |
|
- | 339 | return ERR_PARAM; |
|
- | 340 | ||
- | 341 | size = (pixmap->pitch*pixmap->width+4095) & ~ 4095; |
|
- | 342 | ||
- | 343 | UnmapPages(pixmap->usermap, size); |
|
- | 344 | UserFree(pixmap->usermap); |
|
- | 345 | pixmap->usermap = NULL; |
|
- | 346 | pixmap->flags &= ~PX_LOCK; |
|
- | 347 | io->usermap = NULL; |
|
- | 348 | io->pitch = 0; |
|
- | 349 | ||
- | 350 | return ERR_OK; |
|
- | 351 | }; |
|
- | 352 | ||
Line 326... | Line 353... | ||
326 | 353 | ||
327 | int PixBlit(pixblit_t *blit) |
354 | int PixBlit(pixblit_t *blit) |
Line 328... | Line 355... | ||
328 | { |
355 | { |