Skip to content
  • Emma Anholt's avatar
    freedreno/ir3: Drop the max_const on a6xx to 512. · e349f502
    Emma Anholt authored
    The GLES blob on the p3a limits constlen to 512 between VS and FS across
    a6xx gpu ids (615, 630, 640, and 650).  Experimentally, exceeding that
    limit in any one stage results in rendering corruption or GPU hangs
    (though my most detailed testing had a loop limit in a uniform, so that
    may the cause of the hang).  Clamp the limit we use inside of a shader so
    we don't exceed it within a stage.
    
    This commit doesn't resovle limiting inter-stage.  Experimentally, I've
    found that I can push up to a total of ~768 vec4s between VS and FS on
    a630, with or without uniform updates between each draw.  We'll need to do
    some shader key-based limiting of constlen at draw time to respect that
    limit, but that's left for future work, and this commit is enough for the
    google earth case that initiated this work.
    
    Part-of: <mesa/mesa!5273>
    e349f502