Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
W
weston
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 273
    • Issues 273
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 120
    • Merge Requests 120
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • wayland
  • weston
  • Issues
  • #457

Closed
Open
Opened Nov 27, 2020 by YOUNGJUN@YOUNGJUN

Moving client leaves previous image on ivi-shell

I've changed a SoC chip from included arm gpu to imagination gpu recently. I ran weston-simple-shm and moved the location from <0,0,250,250> to <100,100,250,250> with LayerManagerControl tool. On chip with arm gpu, the previous image(0,0,250,250) is cleared, but on new chip with imagination gpu, the previous image remains. So I reported to imagination that there is an issue, but they said that there is different implementation each vendor.

"for EGL_BUFFER_DESTROYED, the spec. leave each GPU vendor decide if they want to destroy color buffer contents or change by the swapbuffer operation. From our previous debugging experience on ARM, it choose the first one.(destroy color buffer contents which might imply color buffer clear) IMG implement the second one.(changed by the swapbuffer operation which imply we just keep the content on color buffer so we will see the previous content) So if ARM EGL_SWAP_BEHAVIOR is this and if they will do color buffer clear for the EGL_BUFFER_DESTROYED swap behavior, we won't see this issue on ARM."

The arm gpu clears color buffer immediately, but img gpu keeps color buffer until eglSwapBuffers(). So If the GL_BLEND is enabled in first draw-call of gles context, img gpu refer to the previous image(framebuffer) and blending them. I attached dump of egl/gles calls.

1606451068

Additionally, I ran same test with pixman renderer and there is still previous image. So I confused that is this intended? or am I missing something?

Thanks.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: wayland/weston#457