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,316
    • Issues 2,316
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 640
    • Merge Requests 640
  • 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
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Mesa
  • mesamesa
  • Merge Requests
  • !4993

Merged
Opened May 11, 2020 by Axel Davy@axeldavyDeveloper

st/nine: tgsi to nir disk cache

  • Overview 12
  • Commits 5
  • Pipelines 10
  • Changes 14

tgsi to nir is slow. Let's cache it.

A trace of a Hat in Time, which builds thousands of shaders takes 339 seconds to run the second time without this patch, and 41 seconds with it (basically there is no more loading times).

This MR introduces the caching in gallium nine in a few lines. I guess some may ask that this cache be added to tgsi_to_nir instead.

Given the other tgsi users only have a few light shaders (gallium HUD, radeonsi's compute), I'm not convinced there is an interest to use a disk cache for them. Besides having the code reside in nine enables it to be a bit simpler as we don't have to handle the gl ability to replace the cache's put/get functions (radeonsi recomputes the sha1 and adds a crc32, which I guess is to handle badly written put/get).

Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Reference: mesa/mesa!4993
Source branch: tgsi_nir_nine_cache