Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • mesa mesa
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3,059
    • Issues 3,059
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1,000
    • Merge requests 1,000
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • MesaMesa
  • mesamesa
  • Issues
  • #6188
Closed
Open
Issue created Mar 22, 2022 by Filip Gawin@gawinContributor3 of 6 checklist items completed3/6 checklist items

r300: possibility of merging ADD and MUL into MAD when effectively only 2 sources are used

Consider following snippet of code:

MUL temp2.xy temp0.xy temp1.xy
ADD temp2.z temp0.z temp0.1

Because only 2 sources are used we aren't failing into case of MAD with macro.

(The same with MUL + MOV or ADD + MOV)

Tagging as always @ondracka

EDIT by @ondracka:

Just adding a list of all the other options we can do together with what is done already (merged in #17560):

  • MOV + MOV
  • MOV + ADD
  • MOV + MUL
  • MOV + MAD (if they share a source or at least one source is None) WIP branch: https://gitlab.freedesktop.org/ondracka/mesa/-/commits/r300_merge_channels2
  • ADD + MUL (if they share a source or at least one source is None)
  • ADD + ADD (if they share a source or at least one source is None)
Edited Aug 21, 2022 by Pavel Ondračka
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking