Skip to content
  • Faith Ekstrand's avatar
    anv: Bump the number of update-after-bind descriptors to 1M · dd1971c9
    Faith Ekstrand authored
    It's a bit hard to exactly map our implementation to the limits
    described by Vulkan.  The bindless surface handle in the extended
    message descriptors is 20 bits and it's an index into the table of
    RENDER_SURFACE_STATE structs that starts at bindless surface base
    address.  This means that we can have at must 1M surface states
    allocated at any given time.  Since most image views take two
    descriptors, this means we have a limit of about 500K image views.
    
    However, since we allocate surface states at vkCreateImageView time,
    this means our limit is actually something on the order of 500K image
    views allocated at any time.  The actual limit describe by Vulkan, on
    the other hand, is a limit of how many you can have in a descriptor set.
    Assuming anyone using 1M descriptors will be using the same image view
    twice a bunch of times (or a bunch of null descriptors), we can safely
    advertise a larger limit.  1M is what's required by D3D12, so let's
    advertise that.
    
    Closes: mesa/mesa#3335
    
    
    Reviewed-by: default avatarLionel Landwerlin <lionel.g.landwerlin@intel.com>
    Part-of: <mesa/mesa!7180>
    dd1971c9