STRUCT DRM_VMW_GB_SURFACE_CREATE_EXT_REQ(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct drm_vmw_gb_surface_create_ext_req(9) πŸ’–

okay so this is from the Kernel API Manual, bestie β€” it's the struct drm_vmw_gb_surface_create_ext_req(9) page, and honestly it's giving "underrated supporting character who actually carries the whole plot." let's get into it 🫢


✨ NAME ✨

struct drm_vmw_gb_surface_create_ext_req β€” and that's literally it, no little tagline after the dash. the manpage said "no notes." iconic of it ngl πŸ’…


🌸 SYNOPSIS 🌸

okay bestie, here's the whole shape of it, copy it exactly, don't be weird about it:

struct drm_vmw_gb_surface_create_ext_req {
    struct drm_vmw_gb_surface_create_req base;
    enum drm_vmw_surface_version version;
    __u32 svga3d_flags_upper_32_bits;
    __u32 multisample_pattern;
    __u32 quality_level;
    __u32 buffer_byte_stride;
    __u32 must_be_zero;
};

like. look at her. seven fields, all business, zero filler πŸ’œ


πŸŽ€ Members πŸŽ€

  • base β€” the surface create parameters. it's the whole struct drm_vmw_gb_surface_create_req riding shotgun in here, main character energy fr πŸ”₯
  • version β€” which version of the surface create ioctl you're on, typed as enum drm_vmw_surface_version. version check bestie, always πŸ¦‹
  • svga3d_flags_upper_32_bits β€” the upper 32 bits of the svga3d flags. yes, the top half only. the lower half lives somewhere else, we don't ask questions ✨
  • multisample_pattern β€” the multisampling pattern, used when msaa is supported. msaa girlies rise 🌈
  • quality_level β€” precision settings for each sample. it's giving "how much detail do you want per sample, be honest" πŸ’€
  • buffer_byte_stride β€” buffer byte stride. that's it, that's the field, short and slay πŸŽ€
  • must_be_zero β€” reserved for future usage. so like… set it to zero, girl. the name is literally a whole instruction 😭

πŸ¦‹ Description πŸ¦‹

so this struct is the input argument to the DRM_VMW_GB_SURFACE_CREATE_EXT Ioctl. and plot twist β€” it's also part of the output argument for the DRM_VMW_GB_SURFACE_REF_EXT Ioctl. dual-purpose queen, we love to see it πŸ‘‘


⭐ SEE ALSO ⭐

okay here's the whole group chat, no cap, every single one:

  • Kernel file ./include/uapi/drm/vmwgfx_drm.h
  • enum drm_vmw_handle_type(9)
  • struct drm_vmw_getparam_arg(9)
  • struct drm_vmw_size(9)
  • union drm_vmw_surface_create_arg(9)
  • struct drm_vmw_fence_rep(9)
  • struct drm_vmw_bo_rep(9)
  • union drm_vmw_alloc_bo_arg(9)
  • struct drm_vmw_control_stream_arg(9)
  • struct drm_vmw_cursor_bypass_arg(9)
  • struct drm_vmw_fence_wait_arg(9)
  • struct drm_vmw_fence_event_arg(9)
  • struct drm_vmw_shader_create_arg(9)
  • struct drm_vmw_gb_surface_create_req(9)
  • struct drm_vmw_gb_surface_create_rep(9)
  • union drm_vmw_gb_surface_create_arg(9)
  • union drm_vmw_gb_surface_reference_arg(9)
  • enum drm_vmw_synccpu_op(9)
  • struct drm_vmw_synccpu_arg(9)
  • union drm_vmw_extended_context_arg(9)
  • struct drm_vmw_handle_close_arg(9)
  • union drm_vmw_gb_surface_create_ext_arg(9)
  • union drm_vmw_gb_surface_reference_ext_arg(9)
  • struct drm_vmw_msg_arg(9)
  • struct drm_vmw_mksstat_add_arg(9)
  • struct drm_vmw_mksstat_remove_arg(9)

that's the whole squad, don't leave anybody out 🫢


and that's the page bestie!! this one lives in ./include/uapi/drm, dated October 2026, and it goes by struct drm_v...eate_ext_req(9) when it's being shy (which, honestly, the truncated title is a vibe). mwah, study it, love it, cite it correctly πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ’…
πŸ“¦ where this page comes from