Skip to content
  • Brian Paul's avatar
    draw: fix/improve dirty state validation · 4b73cdb8
    Brian Paul authored
    
    
    This patch does two things:
    
    1. Constant buffer state changes were broken (but happened to work by
       dumb luck).  The problem is we weren't calling draw_do_flush() in
       draw_set_mapped_constant_buffer() when we changed that state.  All the
       other draw_set_foo() functions were calling draw_do_flush() already.
    
    2. Use a simpler state validation step when we're changing light-weight
       parameter state such as constant buffers, viewport dims or clip planes.
       There's no need to revalidate the whole pipeline when changing state
       like that.  The new validation method is called bind_parameters()
       and is called instead of the prepare() method.  A new
       DRAW_FLUSH_PARAMETER_CHANGE flag is used to signal these light-weight
       state changes.  This results in a modest but measurable increase in
       FPS for many Mesa demos.
    
    Reviewed-by: default avatarJose Fonseca <jfonseca@vmware.com>
    4b73cdb8