Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lima does clear unconditionally for each frame #59

Open
anarsoul opened this issue May 31, 2018 · 6 comments
Open

Lima does clear unconditionally for each frame #59

anarsoul opened this issue May 31, 2018 · 6 comments

Comments

@anarsoul
Copy link
Contributor

Lima driver does clear unconditionally for each frame and it breaks EGL_BUFFER_PRESERVED. As result, weston doesn't work properly - screen has to be repainted completely on each draw.

I believe we need to do clear only when lima_clear() is called.

@koenkooi
Copy link
Contributor

Is weston supposed to output something with the current state of mesa-lima or with using your texture branch? In both cases I just get a black screen on s905x/mali450. A rk3328/mali450 board arrived this week, but I didn't have the time yet to boot that yet to rule out meson-drm related issues.

@anarsoul
Copy link
Contributor Author

Yes, it outputs something before you move cursor. Once you move it you'll see black screen with cursor. If you open a terminal (left click in top left corner) - you'll see a terminal window.

@yuq
Copy link
Owner

yuq commented Jun 1, 2018

From the dump, mali blob driver will do clear even user does not call glClear when EGL_BUFFER_DESTOYED. But when EGL_BUFFER_PRESERVED, lima_pp_wb_reg[0] and lima_pp_wb_reg[1] will be set to different target address, lima_pp_wb_reg[1] is the real target.

https://gist.github.com/yuq/0df522caf1514b4758623fac36088533
https://gist.github.com/yuq/7a0404ce79fbafc25431967ecf5d62fb

@anarsoul
Copy link
Contributor Author

anarsoul commented Jun 1, 2018

So what is in lima_pp_wb_reg[0] then if it's not a real target?

@yuq
Copy link
Owner

yuq commented Jun 2, 2018

I have no idea as it's not dumped out, but should be a buffer used for write. Maybe some aux/tmp/mirror buffer? In fact I don't know why there're three wb and what's each wb used for except the single wb case.

@anarsoul
Copy link
Contributor Author

anarsoul commented Jun 2, 2018

I see. I guess we need better dumping tool - one that can actually parse command stream.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants