Lines Matching refs:srf

26  * @srf:            The surface metadata.
31 struct vmw_surface srf;
170 * @srf: Pointer to a struct vmw_surface
173 * restoration of the surface represented by @srf.
175 static inline uint32_t vmw_surface_dma_size(const struct vmw_surface *srf)
177 return srf->metadata.num_sizes * sizeof(struct vmw_surface_dma);
184 * @srf: Pointer to a struct vmw_surface
187 * of the surface represented by @srf.
189 static inline uint32_t vmw_surface_define_size(const struct vmw_surface *srf)
191 return sizeof(struct vmw_surface_define) + srf->metadata.num_sizes *
227 * @srf: Pointer to a struct vmw_surface object.
230 static void vmw_surface_define_encode(const struct vmw_surface *srf,
240 cmd_len = sizeof(cmd->body) + srf->metadata.num_sizes *
245 cmd->body.sid = srf->res.id;
251 cmd->body.surfaceFlags = (SVGA3dSurface1Flags)srf->metadata.flags;
252 cmd->body.format = srf->metadata.format;
254 cmd->body.face[i].numMipLevels = srf->metadata.mip_levels[i];
258 src_size = srf->metadata.sizes;
260 for (i = 0; i < srf->metadata.num_sizes; ++i, cmd_size++, src_size++) {
270 * @srf: Pointer to a struct vmw_surface object.
276 static void vmw_surface_dma_encode(struct vmw_surface *srf,
284 vmw_surface_get_desc(srf->metadata.format);
286 for (i = 0; i < srf->metadata.num_sizes; ++i) {
291 const struct vmw_surface_offset *cur_offset = &srf->offsets[i];
292 const struct drm_vmw_size *cur_size = &srf->metadata.sizes[i];
300 body->host.sid = srf->res.id;
384 struct vmw_surface *srf;
392 srf = vmw_res_to_srf(res);
416 submit_size = vmw_surface_define_size(srf);
423 vmw_surface_define_encode(srf, cmd);
463 struct vmw_surface *srf = vmw_res_to_srf(res);
468 submit_size = vmw_surface_dma_size(srf);
474 vmw_surface_dma_encode(srf, cmd, &ptr, bind);
584 * @srf: Pointer to the struct vmw_surface to initialize.
589 struct vmw_surface *srf,
593 struct vmw_resource *res = &srf->res;
610 INIT_LIST_HEAD(&srf->view_list);
628 prime.base)->srf.res);
638 struct vmw_surface *srf = vmw_res_to_srf(res);
640 container_of(srf, struct vmw_user_surface, srf);
645 kfree(srf->offsets);
646 kfree(srf->metadata.sizes);
647 kfree(srf->snooper.image);
665 struct vmw_resource *res = &user_srf->srf.res;
708 struct vmw_surface *srf;
749 srf = &user_srf->srf;
750 metadata = &srf->metadata;
751 res = &srf->res;
769 srf->offsets = kmalloc_array(metadata->num_sizes, sizeof(*srf->offsets),
771 if (unlikely(!srf->offsets)) {
776 metadata->base_size = *srf->metadata.sizes;
783 cur_offset = srf->offsets;
802 srf->snooper.image = vmw_cursor_snooper_create(file_priv, metadata);
803 if (IS_ERR(srf->snooper.image)) {
804 ret = PTR_ERR(srf->snooper.image);
816 ret = vmw_surface_init(dev_priv, srf, vmw_user_surface_free);
846 tmp = vmw_resource_reference(&srf->res);
863 kfree(srf->offsets);
883 user_srf = container_of(surf, struct vmw_user_surface, srf);
908 surf = vmw_surface_reference(&user_srf->srf);
1076 struct vmw_surface *srf;
1088 srf = &user_srf->srf;
1091 rep->flags = (uint32_t)srf->metadata.flags;
1092 rep->format = srf->metadata.format;
1093 memcpy(rep->mip_levels, srf->metadata.mip_levels,
1094 sizeof(srf->metadata.mip_levels));
1099 ret = copy_to_user(user_sizes, &srf->metadata.base_size,
1100 sizeof(srf->metadata.base_size));
1103 srf->metadata.num_sizes);
1122 struct vmw_surface *srf = vmw_res_to_srf(res);
1123 struct vmw_surface_metadata *metadata = &srf->metadata;
1189 cmd4->body.sid = srf->res.id;
1205 cmd3->body.sid = srf->res.id;
1220 cmd2->body.sid = srf->res.id;
1233 cmd->body.sid = srf->res.id;
1371 struct vmw_surface *srf = vmw_res_to_srf(res);
1381 vmw_view_surface_list_destroy(dev_priv, &srf->view_list);
1514 struct vmw_surface *srf;
1578 ret = vmw_gb_surface_define(dev_priv, &metadata, &srf);
1584 user_srf = container_of(srf, struct vmw_user_surface, srf);
1588 res = &user_srf->srf.res;
1695 struct vmw_surface *srf;
1708 srf = &user_srf->srf;
1709 if (!srf->res.guest_memory_bo) {
1713 metadata = &srf->metadata;
1716 ret = drm_gem_handle_create(file_priv, &srf->res.guest_memory_bo->tbo.base,
1735 rep->crep.backup_size = srf->res.guest_memory_size;
1738 drm_vma_node_offset_addr(&srf->res.guest_memory_bo->tbo.base.vma_node);
1739 rep->crep.buffer_size = srf->res.guest_memory_bo->tbo.base.size;
1910 struct vmw_surface *srf = vmw_res_to_srf(res);
1916 if (srf->metadata.format == SVGA3D_BUFFER)
2004 struct vmw_surface *srf = vmw_res_to_srf(res);
2005 const struct vmw_surface_metadata *metadata = &srf->metadata;
2105 struct vmw_surface *srf;
2152 *srf_out = &user_srf->srf;
2154 srf = &user_srf->srf;
2155 srf->metadata = *req;
2156 srf->offsets = NULL;
2158 metadata = &srf->metadata;
2168 srf->res.guest_memory_size =
2177 srf->res.guest_memory_size += sizeof(SVGA3dDXSOState);
2197 ret = vmw_surface_init(dev_priv, srf, vmw_user_surface_free);
2343 struct vmw_user_surface, srf);