Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
mesa
mesa
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 2,427
    • Issues 2,427
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 667
    • Merge Requests 667
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Mesa
  • mesamesa
  • Merge Requests
  • !8601

Merged
Created Jan 20, 2021 by Eric Anholt@anholtOwner

mesa/st: Always precompile the first shader variant, and rely on mesa/st variants in v3d/vc4

  • Overview 55
  • Commits 10
  • Pipelines 21
  • Changes 17

Every driver needs shader precompiles so that you get a chance to build the happy-path shader at link time instead of draw time. Yet, we have this trap in our mesa/st where only if you set all the "I can handle this weird GL state in HW" bits do you get shader precompiles. Drivers like vc4 and v3d tried to signal all the HW support so that they could get precompiles, causing needless code duplication (even though precompiels recently got disabled with the addition of alpha-test lowering!). And new drivers often missed this requirement and ended up with stuttering at draw time.

Fix the trap by always precompiling the default variant, and clean up some fastpath precompile-or-not checks based on that now always being the case.

And, now that there's no pressure to fake HW features in v3d and vc4, garbage collect a bunch of duplicated lowering code.

Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: gallium-always-variant