Lines Matching defs:surface

297  * vmw_du_vps_unpin_surf - unpins resource associated with a framebuffer surface
299 * @vps: plane state associated with the display surface
326 * Unpins the framebuffer surface
367 vps->surf = vmw_framebuffer_to_vfbs(fb)->surface;
488 struct vmw_surface *surface = NULL;
514 surface = vmw_framebuffer_to_vfbs(fb)->surface;
516 if (surface && !surface->snooper.image) {
517 DRM_ERROR("surface not suitable for cursor\n");
832 vmw_surface_unreference(&vfbs->surface);
886 struct vmw_surface *surface,
908 if (unlikely(!surface->metadata.scanout))
911 if (unlikely(surface->metadata.mip_levels[0] != 1 ||
912 surface->metadata.num_sizes != 1 ||
913 surface->metadata.base_size.width < mode_cmd->width ||
914 surface->metadata.base_size.height < mode_cmd->height ||
915 surface->metadata.base_size.depth != 1)) {
916 DRM_ERROR("Incompatible surface dimensions "
941 * For DX, surface format validation is done when surface->scanout
944 if (!has_sm4_context(dev_priv) && format != surface->metadata.format) {
945 DRM_ERROR("Invalid surface format for requested mode.\n");
956 vfbs->surface = vmw_surface_reference(surface);
970 vmw_surface_unreference(&surface);
1076 vmw_framebuffer_to_vfbs(&vfb->base)->surface->res.backup;
1092 * Use surface DMA to get content to
1093 * sreen target surface.
1101 /* Use surface / image update */
1119 vmw_framebuffer_to_vfbs(&vfb->base)->surface->res.backup;
1128 * vmw_create_bo_proxy - create a proxy surface for the buffer object
1131 * @mode_cmd: parameters for the new surface
1133 * @srf_out: newly created surface
1135 * When the content FB is a buffer object, we create a surface as a proxy to the
1136 * same buffer. This way we can do a surface copy rather than a surface DMA.
1272 * vmw_kms_srf_ok - check if a surface can be created
1294 * Either @bo or @surface must be NULL.
1295 * @surface: Pointer to a surface to wrap the kms framebuffer around.
1296 * Either @bo or @surface must be NULL.
1304 struct vmw_surface *surface,
1314 * therefore, wrap the buffer object in a surface so we can use the
1322 bo, &surface);
1330 if (surface) {
1331 ret = vmw_kms_new_framebuffer_surface(dev_priv, surface, &vfb,
1340 vmw_surface_unreference(&surface);
1368 struct vmw_surface *surface = NULL;
1392 /* returns either a bo or surface */
1395 &surface, &bo);
1409 vfb = vmw_kms_new_framebuffer(dev_priv, bo, surface,
1421 if (surface)
1422 vmw_surface_unreference(&surface);
1727 struct vmw_surface *surface,
1734 &surface->res, destX, destY,
1742 struct vmw_surface *surface,
1753 &surface->res, destX, destY,
1757 ret = vmw_kms_generic_present(dev_priv, file_priv, vfb, surface,
2491 * vmw_kms_update_proxy - Helper function to update a proxy surface from
2494 * @res: Pointer to the surface resource
2495 * @clips: Clip rects in framebuffer (surface) space.
2500 * This function makes sure the proxy surface is updated from its backing MOB
2501 * using the region given by @clips. The surface resource @res and its backing
2741 ret = vmw_validation_add_resource(&val_ctx, &vfbs->surface->res,