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,056
    • Issues 3,056
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1,004
    • Merge requests 1,004
  • 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
  • #3758
Closed
Open
Issue created Nov 06, 2020 by manuel alfayate@vanfanel

[V3D] Sampling precission issue

Hi there,

I am seeing the V3D driver fail with shaders that look up palette index from one texture, and an indirect load from the second.

For example, doing:

"  vec4 txindex = texelFetch( s_texture, ivec2(int(v_texcoord.x),int(v_texcoord.y)) ,0 );\n"
"  vec4 txcol = texelFetch( s_color,  ivec2( ( int(txindex.g*65280.0) | int(txindex.r*255.0)) ,0 

it seems txindex does not have enough precision, the seccond texelFetch retuns bad color.

The complete code is here: https://github.com/devmiyax/yabause/blob/master/yabause/src/yglshaderes.c

Original report was here: https://www.raspberrypi.org/forums/viewtopic.php?f=68&t=266652

Also, using sample instead of texelFetch the same problem happens.

This is affecting DuckStation when it uses it's GLES renderer (the most advanced PSX emulator that the Pi4 can run) and Yabuse, both of which work fine on AMDGPU, Intel, Tegra X1 and Snapdragon.

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