Home | History | Annotate | Download | only in vmwgfx

Lines Matching defs:binding

30  * This file implements the vmwgfx context binding manager,
43 * already killed if a resource to which a binding points
49 * to protect all binding manager data.
52 * (surface, shader or even DX query) is conceptually a context binding that
72 * struct vmw_ctx_binding_state - per context binding state
78 * @ds_view: Depth-stencil view binding.
81 * @index_buffer: Index buffer binding.
83 * @dirty: Bitmap tracking per binding-type changes that have not yet
85 * @dirty_vb: Bitmap tracking individual vertex buffer binding changes that
87 * @bind_cmd_buffer: Scratch space used to construct binding commands.
88 * @bind_cmd_count: Number of binding command data entries in @bind_cmd_buffer
90 * device binding slot of the first command data entry in @bind_cmd_buffer.
134 * struct vmw_binding_info - Per binding type information for the binding
137 * @size: The size of the struct binding derived from a struct vmw_ctx_bindinfo.
139 * of struct bindings for the binding type.
140 * @scrub_func: Pointer to the scrub function for this binding type.
142 * Holds static information to help optimize the binding manager and avoid
153 * location of the struct vmw_ctx_bindinfo slots for each binding type.
238 * context binding state tracker.
240 * @cbs: The context binding state tracker.
244 * binding state tracker. If there are no active bindings, this function
262 * @bt: The binding type.
263 * @shader_slot: The shader slot of the binding. If none, then set to 0.
264 * @slot: The slot of the binding.
277 * vmw_binding_drop: Stop tracking a context binding
279 * @bi: Pointer to binding tracker storage.
281 * Stops tracking a context binding, and re-initializes its storage.
282 * Typically used when the context binding is replaced with a binding to
294 * vmw_binding_add: Start tracking a context binding
296 * @cbs: Pointer to the context binding state tracker.
297 * @bi: Information about the binding to track.
299 * Starts tracking the binding in the context binding
320 * vmw_binding_transfer: Transfer a context binding tracking entry.
322 * @cbs: Pointer to the persistent context binding state tracker.
323 * @bi: Information about the binding to track.
351 * @cbs: Pointer to the context binding state tracker.
354 * context binding state tracker. Then re-initializes the whole structure.
369 * @cbs: Pointer to the context binding state tracker.
372 * context binding state tracker.
391 * resource binding list
393 * @head: list head of resource binding list
409 * resource binding list
411 * @head: list head of resource binding list
438 * vmw_binding_state_commit - Commit staged binding info
440 * @ctx: Pointer to context to commit the staged binding info to.
441 * @from: Staged binding info built during execbuf.
444 * Transfers binding info from a temporary structure
465 * Walks through the context binding list and rebinds all scrubbed
492 * vmw_binding_scrub_shader - scrub a shader binding from a context.
494 * @bi: single binding information.
499 struct vmw_ctx_bindinfo_shader *binding =
500 container_of(bi, typeof(*binding), bi);
514 cmd->body.type = binding->shader_slot + SVGA3D_SHADERTYPE_MIN;
522 * vmw_binding_scrub_render_target - scrub a render target binding
525 * @bi: single binding information.
531 struct vmw_ctx_bindinfo_view *binding =
532 container_of(bi, typeof(*binding), bi);
546 cmd->body.type = binding->slot;
556 * vmw_binding_scrub_texture - scrub a texture binding from a context.
558 * @bi: single binding information.
567 struct vmw_ctx_bindinfo_tex *binding =
568 container_of(bi, typeof(*binding), bi);
585 cmd->body.s1.stage = binding->texture_stage;
594 * vmw_binding_scrub_dx_shader - scrub a dx shader binding from a context.
596 * @bi: single binding information.
601 struct vmw_ctx_bindinfo_shader *binding =
602 container_of(bi, typeof(*binding), bi);
615 cmd->body.type = binding->shader_slot + SVGA3D_SHADERTYPE_MIN;
623 * vmw_binding_scrub_cb - scrub a constant buffer binding from a context.
625 * @bi: single binding information.
630 struct vmw_ctx_bindinfo_cb *binding =
631 container_of(bi, typeof(*binding), bi);
644 cmd->body.slot = binding->slot;
645 cmd->body.type = binding->shader_slot + SVGA3D_SHADERTYPE_MIN;
647 cmd->body.offsetInBytes = binding->offset;
648 cmd->body.sizeInBytes = binding->size;
661 * vmw_collect_view_ids - Build view id data for a view binding command
665 * @bi: Pointer to where the binding info array is stored in @cbs
669 * Stops at the first non-existing binding in the @bi array.
696 * vmw_collect_dirty_view_ids - Build view id data for a view binding command
699 * @bi: Pointer to where the binding info array is stored in @cbs
707 * binding, and @cbs->bind_cmd_buffer contains the command data.
738 * vmw_binding_emit_set_sr - Issue delayed DX shader resource binding commands
781 * vmw_binding_emit_set_rt - Issue delayed DX rendertarget binding commands
819 * vmw_collect_so_targets - Build SVGA3dSoTarget data for a binding command
823 * @bi: Pointer to where the binding info array is stored in @cbs
827 * Stops at the first non-existing binding in the @bi array.
862 * vmw_binding_emit_set_so - Issue delayed streamout binding commands
897 * vmw_binding_emit_dirty_ps - Issue delayed per shader binding commands
927 * @bi: Pointer to where the binding info array is stored in @cbs
935 * binding, and @cbs->bind_cmd_buffer contains the command data.
973 * vmw_binding_emit_set_vb - Issue delayed vertex buffer binding commands
1014 * vmw_binding_emit_dirty - Issue delayed binding commands
1018 * This function issues the delayed binding commands that arise from
1019 * previous scrub / unscrub calls. These binding commands are typically
1058 * vmw_binding_scrub_sr - Schedule a dx shaderresource binding
1061 * @bi: single binding information.
1080 * vmw_binding_scrub_dx_rt - Schedule a dx rendertarget binding
1083 * @bi: single binding information.
1097 * vmw_binding_scrub_so - Schedule a dx streamoutput buffer binding
1100 * @bi: single binding information.
1114 * vmw_binding_scrub_vb - Schedule a dx vertex buffer binding
1117 * @bi: single binding information.
1134 * vmw_binding_scrub_ib - scrub a dx index buffer binding from a context
1136 * @bi: single binding information.
1141 struct vmw_ctx_bindinfo_ib *binding =
1142 container_of(bi, typeof(*binding), bi);
1157 cmd->body.format = binding->format;
1158 cmd->body.offset = binding->offset;
1220 * vmw_binding_state_list - Get the binding list of a
1225 * Returns the binding list which can be used to traverse through the bindings
1238 * Drops all bindings registered in @cbs. No device binding actions are
1250 * vmw_binding_dirtying - Return whether a binding type is dirtying its resource
1251 * @binding_type: The binding type
1254 * context binding referencing it, we need to determine whether that resource
1259 * Return: Whether the binding type dirties the resource its binding points to.