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,762
    • Issues 2,762
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 922
    • Merge requests 922
  • 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
  • Merge requests
  • !4767

anv: Implement VK_EXT_robustness2

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Jason Ekstrand requested to merge jekstrand/mesa:review/VK_EXT_robustness2 into master Apr 27, 2020
  • Overview 20
  • Commits 8
  • Pipelines 16
  • Changes 15

The bit new things in robustness2 are null descriptors and proper UBO bounds checking. The UBO bounds checking was added as part of !3777 (merged) and !4447 (merged) so there's nothing to do in this MR. The bulk of this MR, however, is to handle one tiny little line added to the Vulkan spec:

If the access is a load that reads from the same memory locations as a prior store in the same shader invocation, with no other intervening accesses to the same memory locations in that shader invocation, then the result of the load may be the value stored by the store instruction, even if the access is out of bounds. If the load is Volatile, then an out of bounds load must return the appropriate out of bounds value.

This suddenly makes the volatile keyword in GLSL or the Volatile decoration in SPIR-V observable. This MR patches up NIR's handling of volatile in a few optimization passes and adds unit tests for it.

Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: review/VK_EXT_robustness2