• Home
  • Raw
  • Download

Lines Matching refs:bi

54 static int vmw_context_scrub_shader(struct vmw_ctx_bindinfo *bi, bool rebind);
55 static int vmw_context_scrub_render_target(struct vmw_ctx_bindinfo *bi,
57 static int vmw_context_scrub_texture(struct vmw_ctx_bindinfo *bi, bool rebind);
547 static int vmw_context_scrub_shader(struct vmw_ctx_bindinfo *bi, bool rebind) in vmw_context_scrub_shader() argument
549 struct vmw_private *dev_priv = bi->ctx->dev_priv; in vmw_context_scrub_shader()
564 cmd->body.cid = bi->ctx->id; in vmw_context_scrub_shader()
565 cmd->body.type = bi->i1.shader_type; in vmw_context_scrub_shader()
566 cmd->body.shid = ((rebind) ? bi->res->id : SVGA3D_INVALID_ID); in vmw_context_scrub_shader()
579 static int vmw_context_scrub_render_target(struct vmw_ctx_bindinfo *bi, in vmw_context_scrub_render_target() argument
582 struct vmw_private *dev_priv = bi->ctx->dev_priv; in vmw_context_scrub_render_target()
597 cmd->body.cid = bi->ctx->id; in vmw_context_scrub_render_target()
598 cmd->body.type = bi->i1.rt_type; in vmw_context_scrub_render_target()
599 cmd->body.target.sid = ((rebind) ? bi->res->id : SVGA3D_INVALID_ID); in vmw_context_scrub_render_target()
616 static int vmw_context_scrub_texture(struct vmw_ctx_bindinfo *bi, in vmw_context_scrub_texture() argument
619 struct vmw_private *dev_priv = bi->ctx->dev_priv; in vmw_context_scrub_texture()
638 cmd->body.c.cid = bi->ctx->id; in vmw_context_scrub_texture()
639 cmd->body.s1.stage = bi->i1.texture_stage; in vmw_context_scrub_texture()
641 cmd->body.s1.value = ((rebind) ? bi->res->id : SVGA3D_INVALID_ID); in vmw_context_scrub_texture()
661 cb->bi.ctx = NULL; in vmw_context_binding_drop()
675 const struct vmw_ctx_bindinfo *bi) in vmw_context_binding_add() argument
679 switch (bi->bt) { in vmw_context_binding_add()
681 if (unlikely((unsigned)bi->i1.rt_type >= SVGA3D_RT_MAX)) { in vmw_context_binding_add()
683 (unsigned) bi->i1.rt_type); in vmw_context_binding_add()
686 loc = &cbs->render_targets[bi->i1.rt_type]; in vmw_context_binding_add()
689 if (unlikely((unsigned)bi->i1.texture_stage >= in vmw_context_binding_add()
692 (unsigned) bi->i1.texture_stage); in vmw_context_binding_add()
695 loc = &cbs->texture_units[bi->i1.texture_stage]; in vmw_context_binding_add()
698 if (unlikely((unsigned)bi->i1.shader_type >= in vmw_context_binding_add()
701 (unsigned) bi->i1.shader_type); in vmw_context_binding_add()
704 loc = &cbs->shaders[bi->i1.shader_type]; in vmw_context_binding_add()
710 if (loc->bi.ctx != NULL) in vmw_context_binding_add()
713 loc->bi = *bi; in vmw_context_binding_add()
714 loc->bi.scrubbed = false; in vmw_context_binding_add()
729 const struct vmw_ctx_bindinfo *bi) in vmw_context_binding_transfer() argument
733 switch (bi->bt) { in vmw_context_binding_transfer()
735 loc = &cbs->render_targets[bi->i1.rt_type]; in vmw_context_binding_transfer()
738 loc = &cbs->texture_units[bi->i1.texture_stage]; in vmw_context_binding_transfer()
741 loc = &cbs->shaders[bi->i1.shader_type]; in vmw_context_binding_transfer()
747 if (loc->bi.ctx != NULL) in vmw_context_binding_transfer()
750 if (bi->res != NULL) { in vmw_context_binding_transfer()
751 loc->bi = *bi; in vmw_context_binding_transfer()
753 list_add_tail(&loc->res_list, &bi->res->binding_head); in vmw_context_binding_transfer()
768 if (!cb->bi.scrubbed) { in vmw_context_binding_kill()
769 (void) vmw_scrub_funcs[cb->bi.bt](&cb->bi, false); in vmw_context_binding_kill()
770 cb->bi.scrubbed = true; in vmw_context_binding_kill()
806 if (!entry->bi.scrubbed) { in vmw_context_binding_state_scrub()
807 (void) vmw_scrub_funcs[entry->bi.bt](&entry->bi, false); in vmw_context_binding_state_scrub()
808 entry->bi.scrubbed = true; in vmw_context_binding_state_scrub()
844 if (!entry->bi.scrubbed) { in vmw_context_binding_res_list_scrub()
845 (void) vmw_scrub_funcs[entry->bi.bt](&entry->bi, false); in vmw_context_binding_res_list_scrub()
846 entry->bi.scrubbed = true; in vmw_context_binding_res_list_scrub()
868 vmw_context_binding_transfer(&uctx->cbs, &entry->bi); in vmw_context_binding_state_transfer()
888 if (likely(!entry->bi.scrubbed)) in vmw_context_rebind_all()
891 if (WARN_ON(entry->bi.res == NULL || entry->bi.res->id == in vmw_context_rebind_all()
895 ret = vmw_scrub_funcs[entry->bi.bt](&entry->bi, true); in vmw_context_rebind_all()
899 entry->bi.scrubbed = false; in vmw_context_rebind_all()