Exemplo n.º 1
0
static boolean
drm_surface_present(struct native_surface *nsurf,
                    enum native_attachment natt,
                    boolean preserve,
                    uint swap_interval)
{
   boolean ret;

   if (swap_interval)
      return FALSE;

   switch (natt) {
   case NATIVE_ATTACHMENT_FRONT_LEFT:
      ret = drm_surface_flush_frontbuffer(nsurf);
      break;
   case NATIVE_ATTACHMENT_BACK_LEFT:
      if (preserve)
	 ret = drm_surface_copy_swap(nsurf);
      else
	 ret = drm_surface_swap_buffers(nsurf);
      break;
   default:
      ret = FALSE;
      break;
   }

   return ret;
}
Exemplo n.º 2
0
static boolean
drm_surface_present(struct native_surface *nsurf,
                    const struct native_present_control *ctrl)
{
   boolean ret;

   if (ctrl->swap_interval)
      return FALSE;

   switch (ctrl->natt) {
   case NATIVE_ATTACHMENT_FRONT_LEFT:
      ret = drm_surface_flush_frontbuffer(nsurf);
      break;
   case NATIVE_ATTACHMENT_BACK_LEFT:
      if (ctrl->preserve)
	 ret = drm_surface_copy_swap(nsurf);
      else
	 ret = drm_surface_swap_buffers(nsurf);
      break;
   default:
      ret = FALSE;
      break;
   }

   return ret;
}