Home | History | Annotate | Download | only in vmwgfx

Lines Matching defs:surface

301  * vmw_du_vps_unpin_surf - unpins resource associated with a framebuffer surface
303 * @vps: plane state associated with the display surface
317 DRM_ERROR("Surface still pinned\n");
330 * Unpins the framebuffer surface
371 vps->surf = vmw_framebuffer_to_vfbs(fb)->surface;
492 struct vmw_surface *surface = NULL;
518 surface = vmw_framebuffer_to_vfbs(fb)->surface;
520 if (surface && !surface->snooper.image) {
521 DRM_ERROR("surface not suitable for cursor\n");
828 * Surface framebuffer code
837 vmw_surface_unreference(&vfbs->surface);
891 struct vmw_surface *surface,
912 /* Surface must be marked as a scanout. */
913 if (unlikely(!surface->scanout))
916 if (unlikely(surface->mip_levels[0] != 1 ||
917 surface->num_sizes != 1 ||
918 surface->base_size.width < mode_cmd->width ||
919 surface->base_size.height < mode_cmd->height ||
920 surface->base_size.depth != 1)) {
921 DRM_ERROR("Incompatible surface dimensions "
946 * For DX, surface format validation is done when surface->scanout
949 if (!dev_priv->has_dx && format != surface->format) {
950 DRM_ERROR("Invalid surface format for requested mode.\n");
961 vfbs->surface = vmw_surface_reference(surface);
975 vmw_surface_unreference(&surface);
1081 vmw_framebuffer_to_vfbs(&vfb->base)->surface->res.backup;
1097 * Use surface DMA to get content to
1098 * sreen target surface.
1106 /* Use surface / image update */
1124 vmw_framebuffer_to_vfbs(&vfb->base)->surface->res.backup;
1133 * vmw_create_bo_proxy - create a proxy surface for the buffer object
1136 * @mode_cmd: parameters for the new surface
1138 * @srf_out: newly created surface
1140 * When the content FB is a buffer object, we create a surface as a proxy to the
1141 * same buffer. This way we can do a surface copy rather than a surface DMA.
1284 * vmw_kms_srf_ok - check if a surface can be created
1306 * Either @bo or @surface must be NULL.
1307 * @surface: Pointer to a surface to wrap the kms framebuffer around.
1308 * Either @bo or @surface must be NULL.
1316 struct vmw_surface *surface,
1326 * therefore, wrap the buffer object in a surface so we can use the
1334 bo, &surface);
1342 if (surface) {
1343 ret = vmw_kms_new_framebuffer_surface(dev_priv, surface, &vfb,
1352 vmw_surface_unreference(&surface);
1380 struct vmw_surface *surface = NULL;
1404 /* returns either a bo or surface */
1407 &surface, &bo);
1414 DRM_ERROR("Surface size cannot exceed %dx%d",
1421 vfb = vmw_kms_new_framebuffer(dev_priv, bo, surface,
1433 if (surface)
1434 vmw_surface_unreference(&surface);
1739 struct vmw_surface *surface,
1746 &surface->res, destX, destY,
1754 struct vmw_surface *surface,
1765 &surface->res, destX, destY,
1769 ret = vmw_kms_generic_present(dev_priv, file_priv, vfb, surface,
2586 * vmw_kms_update_proxy - Helper function to update a proxy surface from
2589 * @res: Pointer to the surface resource
2590 * @clips: Clip rects in framebuffer (surface) space.
2595 * This function makes sure the proxy surface is updated from its backing MOB
2596 * using the region given by @clips. The surface resource @res and its backing
2836 ret = vmw_validation_add_resource(&val_ctx, &vfbs->surface->res,