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,319
    • Issues 2,319
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 641
    • Merge Requests 641
  • 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
  • !497

Open
Opened Mar 20, 2019 by Eduardo Lima Mitev@elimaDeveloper
  • Report abuse
Report abuse

WIP: Freedreno: extend lower_io_offsets pass for load_ubo

  • Overview 18
  • Commits 5
  • Pipelines 13
  • Changes 5

This series extends the ir3_nir_lower_io_offsets pass to include lowering for load_ubo intrinsics. It is part of the ongoing effort to streamline the backend compiler and take more advantage of existing NIR optimization passes.

The pass helps significantly almost all shaders that do UBO loads. Most of the gain comes from not emitting the comparison between address and base low if we know they are the same.

Some old shader-db results for the Steam collection on a5xx:

total instructions in shared programs:         6000081 -> 5935159 (-1.082%)
total dwords in shared programs:               11372224 -> 11255968 (-1.022%)
total full registers used in shared programs:  323157 -> 323126 (-0.010%)
total half registers used in shared programs:  10332 -> 10332 (0.000%)
total const registers used in shared programs: 1577292 -> 1577292 (0.000%)
total constlen used in shared programs:        1574797 -> 1574797 (0.000%)
total (ss) used in shared programs:            163961 -> 154606 (-5.706%)
total (sy) used in shared programs:            147575 -> 136597 (-7.439%)
total 'max_sun' used in shared programs:       1082332 -> 1082332 (0.000%)
Edited Jun 24, 2019 by Eduardo Lima Mitev
Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Reference: mesa/mesa!497
Source branch: fd/lower-io-offsets-ubo