Skip to content
  • Mathias Fröhlich's avatar
    mesa: Avoid setting _NEW_VARYING_VP_INPUTS in non fixed function mode. · b4b1df5a
    Mathias Fröhlich authored
    
    
    Instead of checking the API variant on entry of set_varying_vp_inputs
    to check if we can ever be interrested in fixed function processing
    or not, we can check if we are actually fixed function processing.
    To check this we can use the immediately updated
    gl_context::VertexProgram._VPMode value that tells us if we have a
    user provided shader program or if we are in fixed function processing
    either through an internal TNL shader of directly through hardware.
    When doing so, we also need to recheck the varying_vp_inputs variable
    at the time gl_context::VertexProgram._VPMode is set to VP_MODE_FF.
    Put asserts at the consumers of gl_context::varying_vp_inputs to make
    sure gl_context::VertexProgram._VPMode is set to VP_MODE_FF. By that
    gl_context::varying_vp_inputs should be up to date then.
    
    By not looking at the opengl api for this decision we should actually
    catch more cases where we can avoid setting a state change flag, including
    the ones where we cannot get into VP_MODE_FF by the choice of the api.
    
    Reviewed-by: default avatarMarek Olšák <marek.olsak@amd.com>
    Signed-off-by: default avatarMathias Fröhlich <Mathias.Froehlich@web.de>
    b4b1df5a