Lines Matching refs:back
130 DRI2BufferPtr back;
174 assert(info->front != info->back);
176 info->back, info->front,
178 info->front->flags = info->back->flags;
225 DRI2BufferPtr back)
235 DBG(("%s: draw size=%dx%d, back buffer handle=%d size=%dx%d, is-scanout? %d, active?=%d, pitch=%d, front pitch=%d\n",
237 get_private(back)->bo->handle,
238 get_private(back)->size & 0xffff, get_private(back)->size >> 16,
239 get_private(back)->bo->scanout,
240 get_private(back)->bo->active_scanout,
241 back->pitch, front_pitch(draw)));
259 reuse = size == get_private(back)->size;
261 reuse = get_private(back)->bo->scanout == use_scanout(sna, draw, priv);
264 bo = get_private(back)->bo;
266 DBG(("%s: back buffer handle=%d, active?=%d, refcnt=%d\n",
267 __FUNCTION__, bo->handle, bo->active_scanout, get_private(back)->refcnt));
269 DBG(("%s: reuse unattached back\n", __FUNCTION__));
270 get_private(back)->stale = false;
298 if (get_private(back)->bo->scanout &&
300 DBG(("%s: requesting scanout compatible back\n", __FUNCTION__));
306 get_private(back)->bo->tiling,
318 if (USE_ASYNC_SWAP && back->flags) {
326 DBG(("%s: filling new buffer with old back\n", __FUNCTION__));
328 draw, get_private(back)->bo, 0, 0,
331 flags = back->flags;
336 if (reuse && get_private(back)->bo->refcnt == 1 + get_private(back)->bo->active_scanout) {
340 c->bo = ref(get_private(back)->bo);
341 c->name = back->name;
342 c->flags = back->flags;
352 assert(bo != get_private(back)->bo);
353 kgem_bo_destroy(&sna->kgem, get_private(back)->bo);
355 get_private(back)->bo = bo;
356 get_private(back)->size = draw->height << 16 | draw->width;
357 back->pitch = bo->pitch;
358 back->name = name;
359 back->flags = flags;
361 assert(back->pitch);
362 assert(back->name);
365 get_private(back)->stale = false;
410 mark_stale(DRI2BufferPtr back)
419 get_private(back)->bo->handle, xorg_can_triple_buffer()));
420 get_private(back)->stale = xorg_can_triple_buffer();
444 DBG(("%s: replacing back buffer on window %ld\n", __FUNCTION__, draw->id));
450 DBG(("%s: reusing back buffer handle=%d, name=%d, pitch=%d, age=%d\n",
683 DBG(("%s: creating back buffer %dx%d, suitable for scanout? %d\n",
1698 assert((info->front == NULL && info->back == NULL) || info->front != info->back);
1700 _sna_dri2_destroy_buffer(info->sna, info->draw, info->back);
1937 struct kgem_bo *bo = get_private(info->back)->bo;
1946 assert(get_private(info->front)->size == get_private(info->back)->size);
1968 DBG(("%s: marked handle=%d as scanout, swap front (handle=%d, name=%d) and back (handle=%d, name=%d)\n",
1971 get_private(info->back)->bo->handle, info->back->name));
1983 info->front->flags = info->back->flags;
1984 info->front->name = info->back->name;
1985 info->front->pitch = info->back->pitch;
1990 info->back->flags = tmp_flags;
1991 info->back->name = tmp_name;
1992 info->back->pitch = tmp_pitch;
1993 get_private(info->back)->bo = tmp_bo;
1994 mark_stale(info->back);
1997 assert(get_private(info->back)->bo->refcnt);
1998 assert(get_private(info->front)->bo != get_private(info->back)->bo);
2009 DRI2BufferPtr back,
2036 if (front->cpp != back->cpp) {
2037 DBG(("%s: no, format mismatch, front = %d, back = %d\n",
2038 __FUNCTION__, front->cpp, back->cpp));
2070 if (!get_private(back)->bo->scanout) {
2076 if (get_private(back)->size != get_private(front)->size) {
2118 if (get_private(back)->bo->tiling > I915_TILING_X) {
2119 DBG(("%s -- no, tiling mismatch: front %d, back=%d, want-tiled?=%d\n",
2122 get_private(back)->bo->tiling,
2127 if (get_private(front)->bo->pitch != get_private(back)->bo->pitch) {
2128 DBG(("%s -- no, pitch mismatch: front %d, back=%d\n",
2131 get_private(back)->bo->pitch));
2149 DRI2BufferPtr back)
2160 if (front->cpp != back->cpp) {
2161 DBG(("%s: no, format mismatch, front = %d, back = %d\n",
2162 __FUNCTION__, front->cpp, back->cpp));
2194 DBG(("%s: back size=%x, front size=%x\n",
2195 __FUNCTION__, get_private(back)->size, get_private(front)->size));
2196 if (get_private(back)->size != get_private(front)->size) {
2197 DBG(("%s: no, back buffer %dx%d does not match front buffer %dx%d\n",
2199 get_private(back)->size & 0x7fff, (get_private(back)->size >> 16) & 0x7fff,
2250 DRI2BufferPtr back)
2267 if (front->cpp != back->cpp) {
2268 DBG(("%s: no, format mismatch, front = %d, back = %d\n",
2269 __FUNCTION__, front->cpp, back->cpp));
2324 if (get_private(back)->size != (draw->height << 16 | draw->width)) {
2336 sna_dri2_xchg(DrawablePtr draw, DRI2BufferPtr front, DRI2BufferPtr back)
2346 back_bo = get_private(back)->bo;
2349 DBG(("%s: win=%ld, exchange front=%d/%d,ref=%d and back=%d/%d,ref=%d, pixmap=%ld %dx%d\n",
2352 back_bo->handle, back->name, get_private(back)->refcnt,
2374 get_private(back)->bo = front_bo;
2375 mark_stale(back);
2383 front->name = back->name;
2384 back->name = tmp;
2387 front->pitch = back->pitch;
2388 back->pitch = tmp;
2391 front->flags = back->flags;
2392 back->flags = tmp;
2398 assert(back_bo->pitch == get_private(back)->bo->pitch);
2403 static void sna_dri2_xchg_crtc(struct sna *sna, DrawablePtr draw, xf86CrtcPtr crtc, DRI2BufferPtr front, DRI2BufferPtr back)
2408 DBG(("%s: exchange front=%d/%d and back=%d/%d, win id=%lu, pixmap=%ld %dx%d\n",
2411 get_private(back)->bo->handle, back->name,
2416 assert(can_xchg_crtc(sna, draw, crtc, front, back));
2423 sna_shadow_set_crtc(sna, crtc, get_private(back)->bo);
2440 tmp->cpp = back->cpp;
2441 tmp->format = back->format;
2446 get_private(back)->bo->tiling,
2458 get_private(tmp)->size = get_private(back)->size;
2469 struct kgem_bo *back_bo = get_private(back)->bo;
2475 get_private(back)->bo = front_bo;
2477 mark_stale(back);
2485 front->name = back->name;
2486 back->name = tmp;
2489 front->pitch = back->pitch;
2490 back->pitch = tmp;
2493 front->flags = back->flags;
2494 back->flags = tmp;
2517 if (can_xchg(chain->sna, chain->draw, chain->front, chain->back)) {
2518 sna_dri2_xchg(chain->draw, chain->front, chain->back);
2520 chain->front, chain->back)) {
2522 chain->front, chain->back);
2526 assert(get_private(chain->back)->bo != get_private(chain->front)->bo);
2591 assert((info->front == NULL && info->back == NULL) || info->front != info->back);
2596 if (can_flip(sna, draw, info->front, info->back, info->crtc) &&
2603 if (can_xchg(info->sna, draw, info->front, info->back)) {
2604 sna_dri2_xchg(draw, info->front, info->back);
2607 info->front, info->back)) {
2609 info->front, info->back);
2640 DBG(("%s: swapping back handle=%d [name=%d, active=%d] for pending handle=%d [name=%d, active=%d], front handle=%d [name=%d, active=%d]\n",
2642 get_private(info->back)->bo->handle, info->back->name, get_private(info->back)->bo->active_scanout,
2649 current_back.bo = get_private(info->back)->bo;
2650 current_back.size = get_private(info->back)->size;
2651 current_back.name = info->back->name;
2652 current_back.flags = info->back->flags;
2654 get_private(info->back)->bo = info->pending.bo;
2655 get_private(info->back)->size = info->pending.size;
2656 info->back->name = info->pending.name;
2657 info->back->pitch = info->pending.bo->pitch;
2658 info->back->flags = info->pending.flags;
2661 assert(get_private(info->back)->bo != get_private(info->front)->bo);
2663 if (can_xchg(info->sna, info->draw, info->front, info->back))
2664 sna_dri2_xchg(info->draw, info->front, info->back);
2666 info->front, info->back))
2668 info->front, info->back);
2673 get_private(info->back)->bo,
2674 info->back->name,
2675 get_private(info->back)->size,
2676 info->back->flags);
2678 get_private(info->back)->bo = current_back.bo;
2679 get_private(info->back)->size = current_back.size;
2680 info->back->name = current_back.name;
2681 info->back->pitch = current_back.bo->pitch;
2682 info->back->flags = current_back.flags;
2684 DBG(("%s: restored current back handle=%d [name=%d, active=%d], active=%d], front handle=%d [name=%d, active=%d]\n",
2686 get_private(info->back)->bo->handle, info->back->name, get_private(info->back)->bo->active_scanout,
2753 assert(info->front != info->back);
2754 if (can_xchg(info->sna, info->draw, info->front, info->back)) {
2755 sna_dri2_xchg(info->draw, info->front, info->back);
2757 info->front, info->back)) {
2759 info->front, info->back);
2774 DBG(("%s: current event front=%d [name=%d, active?=%d], back=%d [name=%d, active?=%d]\n", __FUNCTION__,
2776 get_private(chain->back)->bo->handle, chain->back->name, get_private(chain->back)->bo->active_scanout));
2806 DBG(("%s: setting handle=%d as pending blit (current event front=%d, back=%d)\n", __FUNCTION__,
2807 get_private(info->back)->bo->handle,
2809 get_private(chain->back)->bo->handle));
2810 chain->pending.bo = ref(get_private(info->back)->bo);
2811 chain->pending.size = get_private(info->back)->size;
2812 chain->pending.name = info->back->name;
2813 chain->pending.flags = info->back->flags;
2817 /* Prevent us from handing it back on next GetBuffers */
2893 if (can_flip(sna, chain->draw, chain->front, chain->back, chain->crtc) &&
3105 DRI2BufferPtr front, DRI2BufferPtr back,
3123 assert(info->front != info->back);
3129 if (info->back != back) {
3130 assert(info->back != NULL);
3131 _sna_dri2_destroy_buffer(sna, draw, info->back);
3132 info->back = sna_dri2_reference_buffer(back);
3134 assert(info->front != info->back);
3136 sna_dri2_xchg(draw, front, back);
3162 assert(front != back);
3164 info->back = sna_dri2_reference_buffer(back);
3183 DBG(("%s: flip failed, falling back\n", __FUNCTION__));
3195 sna_dri2_get_back(sna, draw, back);
3226 assert(front != back);
3228 info->back = sna_dri2_reference_buffer(back);
3277 DRI2BufferPtr back, CARD64 *target_msc, CARD64 divisor,
3287 DBG(("%s: draw=%lu %dx%d, pixmap=%ld %dx%d, back=%u (refs=%d/%d, flush=%d, active=%d) , front=%u (refs=%d/%d, flush=%d, active=%d)\n",
3293 get_private(back)->bo->handle,
3294 get_private(back)->refcnt,
3295 get_private(back)->bo->refcnt,
3296 get_private(back)->bo->flush,
3297 get_private(back)->bo->active_scanout,
3310 assert(front != back);
3311 assert(get_private(front) != get_private(back));
3314 assert(get_private(back)->refcnt);
3316 assert(get_private(back)->bo != get_private(front)->bo);
3318 assert(get_private(back)->bo->refcnt);
3321 assert(!get_private(back)->bo->active_scanout);
3331 if (get_private(back)->stale) {
3332 DBG(("%s: stale back buffer\n", __FUNCTION__));
3382 if (can_flip(sna, draw, front, back, crtc) &&
3383 sna_dri2_schedule_flip(client, draw, crtc, front, back,
3398 assert(front != back);
3400 info->back = sna_dri2_reference_buffer(back);
3437 if (can_xchg(sna, draw, front, back)) {
3438 sna_dri2_xchg(draw, front, back);
3440 __sna_dri2_copy_region(sna, draw, NULL, back, front, 0);
3441 front->flags = back->flags;
3466 if (info->back == NULL)
3467 info->back = sna_dri2_reference_buffer(back);
3551 * current_msc to ensure we return a reasonable value back