Home | History | Annotate | Download | only in loader

Lines Matching refs:back

637  * Find an idle back buffer. If there isn't one, then
650 /* Check whether we need to reuse the current back buffer as new back.
757 struct loader_dri3_buffer *back;
768 back = dri3_find_back_alloc(draw);
769 if (!back)
775 /* Update the linear buffer part of the back buffer
779 back->linear_buffer,
780 back->image,
781 0, 0, back->width, back->height,
786 dri3_fence_reset(draw->conn, back);
788 back->pixmap,
792 dri3_fence_trigger(draw->conn, back);
799 back->image,
805 back->pixmap,
812 dri3_fence_await(draw->conn, draw, back);
845 * Copy back to the tiled buffer we use for rendering.
905 * Make the current back buffer visible using the present extension
913 struct loader_dri3_buffer *back;
919 back = dri3_find_back_alloc(draw);
928 if (draw->is_different_gpu && back) {
931 back->linear_buffer,
932 back->image,
933 0, 0, back->width, back->height,
937 /* If we need to preload the new back buffer, remember the source.
939 * the back buffer across a call to this function.
944 /* Exchange the back and fake front. Even though the server knows about these
945 * buffers, it has no notion of back and fake front.
947 if (back && draw->have_fake_front) {
951 draw->buffers[LOADER_DRI3_FRONT_ID] = back;
960 if (back && !draw->is_pixmap) {
961 dri3_fence_reset(draw->conn, back);
997 /* If we need to populate the new back, but need to reuse the back
1007 back->busy = 1;
1008 back->last_swap = draw->send_sbc;
1011 back->pixmap,
1019 back->sync_fence,
1026 /* Schedule a server-side back-preserving blit if necessary.
1029 * b) We need to preserve the back buffer,
1060 struct loader_dri3_buffer *back = dri3_find_back_alloc(draw);
1064 ret = (!back || back->last_swap == 0) ? 0 :
1065 draw->send_sbc - back->last_swap + 1;
1503 * Otherwise, we'll get a BadWindow error back from this request which
1785 * Find a front or back buffer, allocating new ones as necessary
1887 * a tradeoff. If we're ok with the wait we can reduce the number of back
1913 * Free the front bufffer or all of the back buffers. Used
1962 struct loader_dri3_buffer *front, *back;
1967 buffers->back = NULL;
1970 back = NULL;
1977 /* Free no longer needed back buffers */
2019 back = dri3_get_buffer(driDrawable,
2023 if (!back)
2037 if (back) {
2039 buffers->back = back->image;
2104 * Find a backbuffer slot - potentially allocating a back buffer
2106 * \param draw[in,out] Pointer to the drawable for which to find back.
2107 * \return Pointer to a new back buffer or NULL if allocation failed or was
2110 * Find a potentially new back buffer, and if it's not been allocated yet and
2117 struct loader_dri3_buffer *back;
2124 back = draw->buffers[id];
2125 /* Allocate a new back if we haven't got one */
2126 if (!back && draw->back_format != __DRI_IMAGE_FORMAT_NONE &&
2128 back = dri3_alloc_render_buffer(draw, draw->back_format,
2131 if (!back)
2134 draw->buffers[id] = back;
2136 /* If necessary, prefill the back with data according to swap_method mode. */
2139 back != draw->buffers[draw->cur_blit_source]) {
2143 dri3_fence_await(draw->conn, draw, back);
2145 back->image,
2149 back->last_swap = source->last_swap;
2153 return back;