• Home
  • Raw
  • Download

Lines Matching refs:view

128 	struct vmw_view *view = vmw_view(res);  in vmw_view_commit_notify()  local
133 struct vmw_surface *srf = vmw_res_to_srf(view->srf); in vmw_view_commit_notify()
135 list_add_tail(&view->srf_head, &srf->view_list); in vmw_view_commit_notify()
136 vmw_cotable_add_resource(view->cotable, &view->cotable_head); in vmw_view_commit_notify()
137 view->committed = true; in vmw_view_commit_notify()
138 res->id = view->view_id; in vmw_view_commit_notify()
141 list_del_init(&view->cotable_head); in vmw_view_commit_notify()
142 list_del_init(&view->srf_head); in vmw_view_commit_notify()
143 view->committed = false; in vmw_view_commit_notify()
159 struct vmw_view *view = vmw_view(res); in vmw_view_create() local
160 struct vmw_surface *srf = vmw_res_to_srf(view->srf); in vmw_view_create()
168 if (!view->committed) { in vmw_view_create()
173 cmd = vmw_fifo_reserve_dx(res->dev_priv, view->cmd_size, in vmw_view_create()
174 view->ctx->id); in vmw_view_create()
180 memcpy(cmd, &view->cmd, view->cmd_size); in vmw_view_create()
181 WARN_ON(cmd->body.view_id != view->view_id); in vmw_view_create()
183 WARN_ON(view->srf->id == SVGA3D_INVALID_ID); in vmw_view_create()
184 cmd->body.sid = view->srf->id; in vmw_view_create()
185 vmw_fifo_commit(res->dev_priv, view->cmd_size); in vmw_view_create()
186 res->id = view->view_id; in vmw_view_create()
187 list_add_tail(&view->srf_head, &srf->view_list); in vmw_view_create()
188 vmw_cotable_add_resource(view->cotable, &view->cotable_head); in vmw_view_create()
205 struct vmw_view *view = vmw_view(res); in vmw_view_destroy() local
214 if (!view->committed || res->id == -1) in vmw_view_destroy()
217 cmd = vmw_fifo_reserve_dx(dev_priv, sizeof(*cmd), view->ctx->id); in vmw_view_destroy()
224 cmd->header.id = vmw_view_destroy_cmds[view->view_type]; in vmw_view_destroy()
226 cmd->body.view_id = view->view_id; in vmw_view_destroy()
229 list_del_init(&view->cotable_head); in vmw_view_destroy()
230 list_del_init(&view->srf_head); in vmw_view_destroy()
289 struct vmw_view *view = vmw_view(res); in vmw_view_res_free() local
290 size_t size = offsetof(struct vmw_view, cmd) + view->cmd_size; in vmw_view_res_free()
293 vmw_resource_unreference(&view->cotable); in vmw_view_res_free()
294 vmw_resource_unreference(&view->srf); in vmw_view_res_free()
295 kfree_rcu(view, rcu); in vmw_view_res_free()
331 struct vmw_view *view; in vmw_view_add() local
356 view = kmalloc(size, GFP_KERNEL); in vmw_view_add()
357 if (!view) { in vmw_view_add()
362 res = &view->res; in vmw_view_add()
363 view->ctx = ctx; in vmw_view_add()
364 view->srf = vmw_resource_reference(srf); in vmw_view_add()
365 view->cotable = vmw_context_cotable(ctx, vmw_view_cotables[view_type]); in vmw_view_add()
366 view->view_type = view_type; in vmw_view_add()
367 view->view_id = user_key; in vmw_view_add()
368 view->cmd_size = cmd_size; in vmw_view_add()
369 view->committed = false; in vmw_view_add()
370 INIT_LIST_HEAD(&view->srf_head); in vmw_view_add()
371 INIT_LIST_HEAD(&view->cotable_head); in vmw_view_add()
372 memcpy(&view->cmd, cmd, cmd_size); in vmw_view_add()
384 res->id = view->view_id; in vmw_view_add()