Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • mesa mesa
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 3.2k
    • Issues 3.2k
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1.1k
    • Merge requests 1.1k
  • 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
  • Merge requests
  • !3010

turnip: Rework texture/sampler descriptor layout to remove the linkage.

  • Review changes

  • Download
  • Patches
  • Plain diff
Closed Emma Anholt requested to merge anholt/mesa:tu-texture-desc into master Dec 07, 2019
  • Overview 6
  • Commits 1
  • Pipelines 2
  • Changes 6

The link_map was deciding an arbitrary ordering (based on order used in the NIR) of the textures and samplers in the hardware's texture/sampler tables. This created another layer of indirection in an already complicated world of set/binding indices, got in the way of supporting descriptorCount > 1, and meant that you are forced to reupload textures/samplers after pipeline changes.

Descriptor sets already tell you how many of each thing you need, and we can just allocate our space in the HW based on that. It means we can't garbage-collect holes unused by a shader, but it's way better optimization-wise to be able to (in the future) avoid dynamic re-emission of state by putting our state directly into the descriptor pool and uploading at CmdBind time.

Fixes failures in dEQP-VK.binding_model.shader_access.primary_cmd_buf.multiple

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: tu-texture-desc