Lines Matching refs:srf

48  * @srf:            The surface metadata.
53 struct vmw_surface srf;
192 * @srf: Pointer to a struct vmw_surface
195 * restoration of the surface represented by @srf.
197 static inline uint32_t vmw_surface_dma_size(const struct vmw_surface *srf)
199 return srf->metadata.num_sizes * sizeof(struct vmw_surface_dma);
206 * @srf: Pointer to a struct vmw_surface
209 * of the surface represented by @srf.
211 static inline uint32_t vmw_surface_define_size(const struct vmw_surface *srf)
213 return sizeof(struct vmw_surface_define) + srf->metadata.num_sizes *
249 * @srf: Pointer to a struct vmw_surface object.
252 static void vmw_surface_define_encode(const struct vmw_surface *srf,
262 cmd_len = sizeof(cmd->body) + srf->metadata.num_sizes *
267 cmd->body.sid = srf->res.id;
273 cmd->body.surfaceFlags = (SVGA3dSurface1Flags)srf->metadata.flags;
274 cmd->body.format = srf->metadata.format;
276 cmd->body.face[i].numMipLevels = srf->metadata.mip_levels[i];
280 src_size = srf->metadata.sizes;
282 for (i = 0; i < srf->metadata.num_sizes; ++i, cmd_size++, src_size++) {
292 * @srf: Pointer to a struct vmw_surface object.
298 static void vmw_surface_dma_encode(struct vmw_surface *srf,
306 vmw_surface_get_desc(srf->metadata.format);
308 for (i = 0; i < srf->metadata.num_sizes; ++i) {
313 const struct vmw_surface_offset *cur_offset = &srf->offsets[i];
314 const struct drm_vmw_size *cur_size = &srf->metadata.sizes[i];
322 body->host.sid = srf->res.id;
406 struct vmw_surface *srf;
414 srf = vmw_res_to_srf(res);
438 submit_size = vmw_surface_define_size(srf);
445 vmw_surface_define_encode(srf, cmd);
485 struct vmw_surface *srf = vmw_res_to_srf(res);
490 submit_size = vmw_surface_dma_size(srf);
496 vmw_surface_dma_encode(srf, cmd, &ptr, bind);
606 * @srf: Pointer to the struct vmw_surface to initialize.
611 struct vmw_surface *srf,
615 struct vmw_resource *res = &srf->res;
632 INIT_LIST_HEAD(&srf->view_list);
650 prime.base)->srf.res);
660 struct vmw_surface *srf = vmw_res_to_srf(res);
662 container_of(srf, struct vmw_user_surface, srf);
667 kfree(srf->offsets);
668 kfree(srf->metadata.sizes);
669 kfree(srf->snooper.image);
687 struct vmw_resource *res = &user_srf->srf.res;
723 struct vmw_surface *srf;
764 srf = &user_srf->srf;
765 metadata = &srf->metadata;
766 res = &srf->res;
784 srf->offsets = kmalloc_array(metadata->num_sizes, sizeof(*srf->offsets),
786 if (unlikely(!srf->offsets)) {
791 metadata->base_size = *srf->metadata.sizes;
798 cur_offset = srf->offsets;
826 srf->snooper.image = kzalloc(cursor_size_bytes, GFP_KERNEL);
827 if (!srf->snooper.image) {
833 srf->snooper.image = NULL;
846 ret = vmw_surface_init(dev_priv, srf, vmw_user_surface_free);
872 tmp = vmw_resource_reference(&srf->res);
888 kfree(srf->offsets);
990 struct vmw_surface *srf;
1002 srf = &user_srf->srf;
1005 rep->flags = (uint32_t)srf->metadata.flags;
1006 rep->format = srf->metadata.format;
1007 memcpy(rep->mip_levels, srf->metadata.mip_levels,
1008 sizeof(srf->metadata.mip_levels));
1013 ret = copy_to_user(user_sizes, &srf->metadata.base_size,
1014 sizeof(srf->metadata.base_size));
1017 srf->metadata.num_sizes);
1036 struct vmw_surface *srf = vmw_res_to_srf(res);
1037 struct vmw_surface_metadata *metadata = &srf->metadata;
1103 cmd4->body.sid = srf->res.id;
1119 cmd3->body.sid = srf->res.id;
1134 cmd2->body.sid = srf->res.id;
1147 cmd->body.sid = srf->res.id;
1285 struct vmw_surface *srf = vmw_res_to_srf(res);
1295 vmw_view_surface_list_destroy(dev_priv, &srf->view_list);
1428 struct vmw_surface *srf;
1492 ret = vmw_gb_surface_define(dev_priv, &metadata, &srf);
1498 user_srf = container_of(srf, struct vmw_user_surface, srf);
1502 res = &user_srf->srf.res;
1598 struct vmw_surface *srf;
1611 srf = &user_srf->srf;
1612 if (!srf->res.guest_memory_bo) {
1616 metadata = &srf->metadata;
1619 ret = drm_gem_handle_create(file_priv, &srf->res.guest_memory_bo->tbo.base,
1638 rep->crep.backup_size = srf->res.guest_memory_size;
1641 drm_vma_node_offset_addr(&srf->res.guest_memory_bo->tbo.base.vma_node);
1642 rep->crep.buffer_size = srf->res.guest_memory_bo->tbo.base.size;
1813 struct vmw_surface *srf = vmw_res_to_srf(res);
1819 if (srf->metadata.format == SVGA3D_BUFFER)
1907 struct vmw_surface *srf = vmw_res_to_srf(res);
1908 const struct vmw_surface_metadata *metadata = &srf->metadata;
2008 struct vmw_surface *srf;
2055 *srf_out = &user_srf->srf;
2059 srf = &user_srf->srf;
2060 srf->metadata = *req;
2061 srf->offsets = NULL;
2063 metadata = &srf->metadata;
2073 srf->res.guest_memory_size =
2082 srf->res.guest_memory_size += sizeof(SVGA3dDXSOState);
2102 ret = vmw_surface_init(dev_priv, srf, vmw_user_surface_free);