Lines Matching refs:back

692  * Find an idle back buffer. If there isn't one, then
706 /* Check whether we need to reuse the current back buffer as new back.
723 * Unigine Superposition hits this and this allows to use 2 back buffers
832 struct loader_dri3_buffer *back;
843 back = dri3_find_back_alloc(draw);
844 if (!back)
850 /* Update the linear buffer part of the back buffer
854 back->linear_buffer,
855 back->image,
856 0, 0, back->width, back->height,
861 dri3_fence_reset(draw->conn, back);
863 back->pixmap,
867 dri3_fence_trigger(draw->conn, back);
874 back->image,
880 back->pixmap,
887 dri3_fence_await(draw->conn, draw, back);
920 * Copy back to the tiled buffer we use for rendering.
980 * Make the current back buffer visible using the present extension
989 struct loader_dri3_buffer *back;
995 back = dri3_find_back_alloc(draw);
1004 if (draw->is_different_gpu && back) {
1007 back->linear_buffer,
1008 back->image,
1009 0, 0, back->width, back->height,
1013 /* If we need to preload the new back buffer, remember the source.
1015 * the back buffer across a call to this function.
1020 /* Exchange the back and fake front. Even though the server knows about these
1021 * buffers, it has no notion of back and fake front.
1023 if (back && draw->have_fake_front) {
1027 draw->buffers[LOADER_DRI3_FRONT_ID] = back;
1036 if (back && !draw->is_pixmap) {
1037 dri3_fence_reset(draw->conn, back);
1081 /* If we need to populate the new back, but need to reuse the back
1091 back->busy = 1;
1092 back->last_swap = draw->send_sbc;
1117 back->pixmap,
1125 back->sync_fence,
1132 /* Schedule a server-side back-preserving blit if necessary.
1135 * b) We need to preserve the back buffer,
1166 struct loader_dri3_buffer *back = dri3_find_back_alloc(draw);
1170 ret = (!back || back->last_swap == 0) ? 0 :
1171 draw->send_sbc - back->last_swap + 1;
1654 * Otherwise, we'll get a BadWindow error back from this request which
1936 * Find a front or back buffer, allocating new ones as necessary
2040 * a tradeoff. If we're ok with the wait we can reduce the number of back
2066 * Free the front bufffer or all of the back buffers. Used
2118 struct loader_dri3_buffer *front, *back;
2123 buffers->back = NULL;
2126 back = NULL;
2133 /* Free no longer needed back buffers */
2175 back = dri3_get_buffer(driDrawable,
2179 if (!back)
2193 if (back) {
2195 buffers->back = back->image;
2260 * Find a backbuffer slot - potentially allocating a back buffer
2262 * \param draw[in,out] Pointer to the drawable for which to find back.
2263 * \return Pointer to a new back buffer or NULL if allocation failed or was
2266 * Find a potentially new back buffer, and if it's not been allocated yet and
2273 struct loader_dri3_buffer *back;
2280 back = draw->buffers[id];
2281 /* Allocate a new back if we haven't got one */
2282 if (!back && draw->back_format != __DRI_IMAGE_FORMAT_NONE &&
2284 back = dri3_alloc_render_buffer(draw, draw->back_format,
2287 if (!back)
2290 draw->buffers[id] = back;
2292 /* If necessary, prefill the back with data according to swap_method mode. */
2295 back != draw->buffers[draw->cur_blit_source]) {
2299 dri3_fence_await(draw->conn, draw, back);
2301 back->image,
2305 back->last_swap = source->last_swap;
2309 return back;