vmw_execbuf_res_size(9)
π vmw_execbuf_res_size(9) β like, the Kernel API Manual page, bestie π
okay so picture this: you're deep in the Kernel API Manual, poking at vmw_execbuf_res_size(9), and you just need to know how much extra room to leave. That's the whole vibe of this page. Strap in π
β¨ NAME β¨
vmw_execbuf_res_size β literally the function that calculates the extra size for the resource validation node. that's it, that's the job π«Ά
πΈ SYNOPSIS πΈ
unsigned int vmw_execbuf_res_size (struct vmw_private *dev_priv , enum
vmw_res_type res_type );
no cap, that's the whole signature. two args, one unsigned int coming back at you β¨
π¦ ARGUMENTS π¦
dev_privβ pointer to the device private struct. like, the whole device's little diary of private info πres_typeβ the resource type. this is the one that decides everything, iykyk π
π DESCRIPTION π
so here's the tea π β guest-backed contexts and DX contexts need extra size, because they have to stash execbuf private information inside the validation node. typically it's the binding manager's associated data structures doing the hoarding.
that's the entire reason this function exists. it's giving "small but essential" energy, honestly π
π₯ RETURN π₯
returns the extra size requirement, based on the resource type. so like, the answer depends on your res_type β main character behaviour, we respect it π
π SEE ALSO π
okay this list is long long, but we don't skip, ever. here's the whole friend group ππ
- the kernel file:
./drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c struct vmw_relocation(9)enum vmw_resource_relocation_type(9)struct vmw_resource_relocation(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_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)
fr fr, click through these if you want the full lore β this function does not exist in a vacuum π§
and that's the page, bestie π mwah π β this gem lives over in ./drivers/gpu/drm/vmwgfx and it's stamped October 2026, so go forth and validate those resources, you absolute icon πβ¨
π¦ 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