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,884
    • Issues 2,884
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 921
    • Merge requests 921
  • 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
  • #1005

Closed
Open
Created Sep 18, 2019 by Bugzilla Migration User@bugzilla-migration

[gallium] glCopyPixels is affected by enabled texture state

Submitted by Ilia Mirkin @imirkin

Assigned to mes..@..op.org

Link to original bug (#96943)

Description

The recently rewritten copy-pixels test has exposed some failures in st/mesa. When there's an overlapping copy (among other conditions), the operation becomes a fb read + draw of that texture with the current fragment shader modified in the same way as glDrawPixels does it. (So this problem might extend itself to glDrawPixels as well).

Doing a glDisable(GL_TEXTURE_2D) before the glCopyPixels() call in the piglit fixes the issue. Effectively that texture is being multiplied with the copied data, whereas from what I can tell, it shouldn't be. I think the multiplication comes from the ff-generated shader.

[An alternative is that the piglit test and i965 are wrong and what gallium is doing is correct. I don't think that's the case, since the only disagreement is on the overlapped copy.]

Version: git

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