STRUCT VMW_RESOURCE_RELOCATION(9)
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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms