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 906
    • Merge requests 906
  • 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
  • #5711

Closed
Open
Created Dec 03, 2021 by Jonathan@Jonathan-Weinstein

ANV: single-layer 2D_ARRAY VkImageViews read from base layer instead of out-of-bounds result with robustImageAccess2.

This (low-priority) bug happens on TGL GT2 hardware with Mesa driver 21.0.3 (and later too, I think).

When using OpImageFetch/OpImageRead with a 2D_ARRAY sampled/storage view having only 1 layer, if the layer coordinate is out-of-bounds, then the view's base level is accessed. Since robustImageAccess2 from VK_EXT_robustness2 is enabled though, the correct behavior should be to return one of {0,0,0,0} or {0,0,0,one}, depending on the view format.

Here's a test program:

# the only submodule is volk:
git clone --recurse-submodules https://github.com/Jonathan-Weinstein/vktest.git
git pull --recurse-submodules
cd vktest
make
./vktest.out

The program doesn't use presentation, but it does use the renderdoc api to start/end a frame capture if it detects librenderdoc.so is already resident.

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