STRUCT VMW_CMD_ENTRY(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct vmw_cmd_entry(9) ✨

okay bestie, so this is a page straight out of the Kernel API Manual β€” yes, the Kernel API Manual, we're in the big leagues now πŸ’… β€” and it's all about struct vmw_cmd_entry, which is literally the little info card that describes a command for the verifier. Think of it as the command's profile pic, bio, and settings all rolled into one πŸŽ€


🌸 SYNOPSIS 🌸

struct vmw_cmd_entry {
    int (*func) (struct vmw_private *, struct vmw_sw_context *,
SVGA3dCmdHeader *);
    bool user_allow;
    bool gb_disable;
    bool gb_enable;
    const char *cmd_name;
 };

like, that's the whole shape of it. five little fields, maximum main character energy πŸ‘‘


πŸ’– Members πŸ’–

  • func β€” the call-back that handles the command. this is the one doing the actual work, no cap ✨
  • user_allow β€” tells you whether this command is allowed from the execbuf ioctl. it's giving permission slip vibes 🫢
  • gb_disable β€” whether the command is disabled if guest-backed objects are available.
  • gb_enable β€” whether the command is enabled iff guest-backed objects are available. note the "iff" bestie, that's a real logical condition, not just a vibe 😭
  • cmd_name β€” the name of the command. literally just the name. iconic, honestly 🌟

πŸ¦‹ SEE ALSO πŸ¦‹

so there's a lot here and we are NOT skipping any of it, periodt. first up, the kernel file itself:

Kernel file ./drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c

and then the whole friend group πŸ’œ:

struct vmw_relocation(9), enum vmw_resource_relocation_type(9), struct vmw_resource_relocation(9), struct vmw_ctx_validation_info(9), vmw_ptr_diff(9), vmw_execbuf_bindings_commit(9), vmw_bind_dx_query_mob(9), vmw_cmd_ctx_first_setup(9), vmw_execbuf_res_size(9), vmw_execbuf_rcache_update(9), vmw_execbuf_res_val_add(9), vmw_view_res_val_add(9), vmw_view_id_val_add(9), vmw_resource_context_res_add(9), vmw_resource_relocation_add(9), vmw_resource_relocations_free(9), vmw_resource_relocations_apply(9), vmw_resources_reserve(9), vmw_cmd_res_check(9), vmw_rebind_all_dx_query(9), vmw_rebind_contexts(9), vmw_view_bindings_add(9), vmw_cmd_cid_check(9), vmw_execbuf_info_from_res(9), vmw_query_bo_switch_prepare(9), vmw_query_bo_switch_commit(9), vmw_translate_mob_ptr(9), vmw_translate_guest_ptr(9), vmw_cmd_dx_define_query(9), vmw_cmd_dx_bind_query(9), vmw_cmd_begin_gb_query(9), vmw_cmd_begin_query(9), vmw_cmd_end_gb_query(9), vmw_cmd_end_query(9), vmw_cmd_wait_gb_query(9), vmw_cmd_wait_query(9), vmw_cmd_res_switch_backup(9), vmw_cmd_switch_backup(9), vmw_cmd_bind_gb_surface(9), vmw_cmd_update_gb_image(9), vmw_cmd_update_gb_surface(9), vmw_cmd_readback_gb_image(9), vmw_cmd_readback_gb_surface(9), vmw_cmd_invalidate_gb_image(9), vmw_cmd_invalidate_gb_surface(9), vmw_cmd_shader_define(9), vmw_cmd_shader_destroy(9), vmw_cmd_set_shader(9), vmw_cmd_set_shader_const(9), vmw_cmd_bind_gb_shader(9), vmw_cmd_dx_set_single_constant_buffer(9), vmw_cmd_dx_set_constant_buffer_offset(9), vmw_cmd_dx_set_shader_res(9), vmw_cmd_dx_set_shader(9), vmw_cmd_dx_set_vertex_buffers(9), vmw_cmd_dx_set_index_buffer(9), vmw_cmd_dx_set_rendertargets(9), vmw_cmd_dx_clear_rendertarget_view(9), vmw_cmd_dx_clear_depthstencil_view(9), vmw_cmd_dx_set_so_targets(9), vmw_cmd_dx_check_subresource(9), vmw_cmd_dx_view_remove(9), vmw_cmd_dx_define_shader(9), vmw_cmd_dx_destroy_shader(9), vmw_cmd_dx_bind_shader(9), vmw_cmd_dx_genmips(9), vmw_cmd_dx_transfer_from_buffer(9), vmw_cmd_intra_surface_copy(9), vmw_execbuf_copy_fence_user(9), vmw_execbuf_submit_fifo(9), vmw_execbuf_submit_cmdbuf(9), vmw_execbuf_cmdbuf(9), vmw_execbuf_unpin_panic(9), __vmw_execbuf_release_pinned_bo(9), vmw_execbuf_release_pinned_bo(9)


πŸ’€ real talk: that SEE ALSO list is a whole friend group and yes, __vmw_execbuf_release_pinned_bo(9) and vmw_execbuf_release_pinned_bo(9) are two different functions β€” the double underscore one is not a typo, do NOT merge them in your head bestie πŸ™ˆ

and that's the page! πŸ“ shoutout to the source tree ./drivers/gpu/drm/vmwgfx and the date stamp October 2026 β€” that's the version/date tea, go drink some water and go read vmwgfx_execbuf.c πŸ’œπŸ§š

πŸ“¦ where this page comes from