Subversion Repositories Kolibri OS

Rev

Rev 2352 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2352 Rev 2361
Line 329... Line 329...
329
    _kgem_submit(&sna_device->kgem, &execbuffer);
329
    _kgem_submit(&sna_device->kgem, &execbuffer);
Line 330... Line 330...
330
 
330
 
Line -... Line 331...
-
 
331
};
-
 
332
 
-
 
333
 
-
 
334
int sna_blit_tex(bitmap_t *dst_bitmap, int dst_x, int dst_y,
-
 
335
                  int w, int h, bitmap_t *src_bitmap, int src_x, int src_y,
-
 
336
                  bitmap_t *mask_bitmap)
-
 
337
 
-
 
338
{
-
 
339
    struct sna_composite_op cop;
-
 
340
    batchbuffer_t  execbuffer;
-
 
341
    BoxRec box;
-
 
342
 
-
 
343
    struct kgem_bo src_bo, mask_bo, dst_bo;
-
 
344
 
-
 
345
    memset(&cop, 0, sizeof(cop));
-
 
346
    memset(&execbuffer,  0, sizeof(execbuffer));
-
 
347
    memset(&src_bo, 0, sizeof(src_bo));
-
 
348
    memset(&dst_bo, 0, sizeof(dst_bo));
-
 
349
    memset(&mask_bo, 0, sizeof(mask_bo));
-
 
350
 
-
 
351
    src_bo.gaddr  = src_bitmap->gaddr;
-
 
352
    src_bo.pitch  = src_bitmap->pitch;
-
 
353
    src_bo.tiling = 0;
-
 
354
 
-
 
355
    dst_bo.gaddr  = dst_bitmap->gaddr;
-
 
356
    dst_bo.pitch  = dst_bitmap->pitch;
-
 
357
    dst_bo.tiling = 0;
-
 
358
 
-
 
359
    mask_bo.gaddr  = mask_bitmap->gaddr;
-
 
360
    mask_bo.pitch  = mask_bitmap->pitch;
-
 
361
    mask_bo.tiling = 0;
-
 
362
 
-
 
363
    box.x1 = dst_x;
-
 
364
    box.y1 = dst_y;
-
 
365
    box.x2 = dst_x+w;
-
 
366
    box.y2 = dst_y+h;
-
 
367
 
-
 
368
    sna_device->render.composite(sna_device, 0,
-
 
369
                                 src_bitmap, &src_bo,
-
 
370
                                 mask_bitmap, &mask_bo,
-
 
371
                                 dst_bitmap, &dst_bo,
-
 
372
                                 src_x, src_y,
-
 
373
                                 src_x, src_y,
-
 
374
                                 dst_x, dst_y,
-
 
375
                                 w, h, &cop);
-
 
376
 
-
 
377
    cop.box(sna_device, &cop, &box);
-
 
378
    cop.done(sna_device, &cop);
-
 
379
 
-
 
380
    INIT_LIST_HEAD(&execbuffer.objects);
-
 
381
    list_add_tail(&src_bitmap->obj->exec_list, &execbuffer.objects);
-
 
382
    list_add_tail(&mask_bitmap->obj->exec_list, &execbuffer.objects);
-
 
383
 
-
 
384
    _kgem_submit(&sna_device->kgem, &execbuffer);