Skip to content
  • Alejandro Piñeiro's avatar
    v3dv/pipeline: track descriptor maps per stage, not per pipeline · f5133f6b
    Alejandro Piñeiro authored
    
    
    One of the conclusions of our recent clean up on the limits was that
    the pipeline limits needed to be the per-stage limits multiplied by
    the number of stages.
    
    But until now we only have a set of descriptor maps for the full
    pipeline. That would work if we could set the same limit per pipeline
    that per stage, but that is not the case. So if, for example, we have
    the fragment shader using V3D_MAX_TEXTURE_SAMPLERS textures, and then
    the vertex shader, with a different descriptor set, using one texture,
    we would get an index greater that V3D_MAX_TEXTURE_SAMPLERS. We assert
    that index as an error on the vulkan backend, but fwiw, it would be
    also asserted on the compiler.
    
    With this commit we track and allocate a descriptor map per stage,
    although we reuse the vertex shader descriptor map for the vertex bin.
    
    Reviewed-by: default avatarIago Toral Quiroga <itoral@igalia.com>
    Part-of: <!10272>
    f5133f6b