vmw_subres_dirty_add(9)
π vmw_subres_dirty_add β the kernel API manual, bestie edition β¨
Okay so bestie, we're deep in the Kernel API Manual today and the function on the docket is vmw_subres_dirty_add(9). Yes it's a mouthful, no you're not gonna fumble it β we're gonna get through this together π«Ά
β¨ NAME β¨
vmw_subres_dirty_add β literally just adds a dirty region to a subresource, that's the whole gig π
π¦ SYNOPSIS π¦
void vmw_subres_dirty_add (struct vmw_surface_dirty *dirty , const
struct vmw_surface_loc *loc_start , const struct vmw_surface_loc
*loc_end );
π ARGUMENTS π
dirtyβ the surface's dirty tracker. This is the main character, the one actually keeping receipts ποΈloc_startβ the location that corresponds to the start of the region. Where the region begins, iykyk.loc_endβ the location that corresponds to the end of the region. Where it wraps up β¨
πΈ DESCRIPTION πΈ
So the whole vibe here is that we're assuming loc_start and loc_end represent a sequential range of backing store memory. Like, in order, one after the other, no chaos π
And because of that assumption, two things follow:
- If the region spans multiple lines, then it doesn't matter what the x coordinate is β the full lines get dirtied. Partial lines? Not today, bestie.
- Correspondingly, if the region spans multiple z slices, then you get full z slices dirtied rather than partial ones. Whole slices only, periodt π₯
π SEE ALSO π
The kernel file is ./drivers/gpu/drm/vmwgfx/vmwgfx_surface.c and here's the whole extended friend group you should also go say hi to π
struct vmw_user_surface(9)struct vmw_surface_offset(9)struct vmw_surface_dirty(9)vmw_surface_dma_size(9)vmw_surface_define_size(9)vmw_surface_destroy_size(9)vmw_surface_destroy_encode(9)vmw_surface_define_encode(9)vmw_surface_dma_encode(9)vmw_hw_surface_destroy(9)vmw_legacy_srf_create(9)vmw_legacy_srf_dma(9)vmw_legacy_srf_bind(9)vmw_legacy_srf_unbind(9)vmw_legacy_srf_destroy(9)vmw_surface_init(9)vmw_user_surface_base_to_res(9)vmw_user_surface_free(9)vmw_user_surface_base_release(9)vmw_surface_destroy_ioctl(9)vmw_surface_define_ioctl(9)vmw_surface_reference_ioctl(9)vmw_gb_surface_create(9)vmw_gb_surface_define_ioctl(9)vmw_gb_surface_reference_ioctl(9)vmw_gb_surface_define_ext_ioctl(9)vmw_gb_surface_reference_ext_ioctl(9)vmw_gb_surface_define_internal(9)vmw_gb_surface_reference_internal(9)vmw_subres_dirty_full(9)vmw_dumb_create(9)
ngl bestie, if you ever find yourself dirtying a partial line or a partial z slice in here, that's not the vibe this function is giving. Full lines, full slices, that's the assignment π
And that's the page!! π This one lives under ./drivers/gpu/drm/vmwgfx, dated October 2026, and it's filed as vmw_subres_dirty_add(9) β go forth and dirty those regions correctly, 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