STRUCT VMW_RESOURCE_RELOCATION(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay bestie, welcome to the struct vmw_resource_relocation(9) page from the Kernel API Manual β€” this is the resource-relocation lore you asked for πŸ’–

🌸 NAME 🌸

struct vmw_resource_relocation β€” Relocation info for resources. that's the whole name, no cap ✨

✨ SYNOPSIS ✨

here's the struct in all its glory, copy-paste exact bestie:

struct vmw_resource_relocation {
    struct list_head head;
    const struct vmw_resource *res;
    u32 offset:29;
    enum vmw_resource_relocation_type rel_type:3;
 };

πŸ’… Members πŸ’…

okay so the members are literally:

  • head β€” List head for the software context's relocation list. it's the lil organizer keeping the list together πŸŽ€
  • res β€” Non-ref-counted pointer to the resource. yes, non-ref-counted β€” do not come for me about refcounts πŸ™ˆ
  • offset β€” Offset of single byte entries into the command buffer where the id that needs fixup is located. that's the bit that needs fixing later πŸ”₯
  • rel_type β€” Type of relocation. the vibe check for which kind of relocation this is πŸ’«

πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c is the home base πŸ’–. Then come struct vmw_relocation(9), enum vmw_resource_relocation_type(9), struct vmw_ctx_validation_info(9), struct vmw_cmd_entry(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). that's the whole friend group, iykyk πŸ’œ


mwah πŸ’‹ this page's source/version is ./drivers/gpu/drm/vmwgfx and the date is October 2026 β€” bye bestie, go slay those relocations 🫢

πŸ“¦ where this page comes from