Skip to content

GitLab

  • Menu
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 2,880
    • Issues 2,880
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 905
    • Merge requests 905
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Mesa
  • mesamesa
  • Issues
  • #5488

Closed
Open
Created Oct 12, 2021 by Jesse Natalie@jenataliDeveloper

nir_lower_explicit_io: build_explicit_io_atomic needs to handle function_temp for use with generic address space

See !6332 (comment 1100426)

That said, I still think you're right that there's a bug in build_explicit_io_atomic if you do call it on a generic pointer that may point to function-local. I think we probably need to add a path for converting function_temp "atomics" to just plain non-atomic ops. So then this "atomic" add on function-temp would just turn into uadd followed by store_scratch. Or I guess with the addr_format_is_global() path, we could convert these into global atomics.

Note that the OpenCL spec for generic address space says:

The behavior of atomic operations where pointer arguments to the atomic functions refers to an atomic type in the private address space is undefined.

So, we can do whatever we want, but we should successfully compile the shaders at least.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking