Skip to content
  • Marek Olšák's avatar
    gallium/u_vbuf: use signed vertex buffers offsets for optimal uploads · 71f5fe36
    Marek Olšák authored
    Uploaded data must start at (stride * start), because we can't modify
    start in all cases. If it's the first allocation, it's also the amount
    of memory wasted. If the starting offset is larger than the size of
    the upload buffer, the buffer is re-created, used for 1 upload, and then
    thrown away. If the upload is small, most of the buffer space is unused
    and wasted. Keep doing that and the OOM killer comes. It's actually
    pretty quick.
    
    With signed VB offsets, we can set min_out_offset = 0
    in u_upload_alloc/u_upload_data.
    
    This fixes OOM situations with SPECviewperf.
    71f5fe36