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

temporary garbled window content when resizing due to unflushed VRAM content #7105

Closed
aufkrawall opened this issue Oct 30, 2019 · 11 comments
Closed

Comments

@aufkrawall
Copy link

Not really a bug report, rather a cosmetic suggestion:
The RadeonSI driver doesn't flush previous window content which causes ugly artifacts for a brief moment when resizing.
As a workaround, mpv can be started with AMD_DEBUG=zerovram. Though it'd be more elegant if mpv flushed content of previous frames by itself in such cases.

Otherwise we should suggest to add mpv to the compatibility workaround list of Mesa to enable flushing by default there.

@ghost
Copy link

ghost commented Oct 30, 2019

Yeah, I noticed this, e.g. on startup. It happens with EGL, but didn't happen with GLX.
Is it even possible for the application to fix this? VRAM doesn't exist.

@aufkrawall
Copy link
Author

aufkrawall commented Oct 30, 2019

It'd be weird if not (but dunno), as afaik the driver behaves that way to strictly meet the OGL spec.
Though lots of applications show these artifacts with window operations.

As mpv often isn't started via XDG .desktop entry, one can also set this up in e.g. ~/.drirc

<driconf>
    <device driver="radeonsi">
        <application name="mpv" executable="mpv">
            <option name="radeonsi_zerovram" value="true" />
        </application>
</driconf>

@ghost
Copy link

ghost commented Oct 31, 2019

The OGL spec. doesn't mention "vram" and doesn't deal with X11.
Isn't this more of a X11 thing, where window contents remain undefined if the application doesn't redraw quickly enough?
Do you have anything informed to say, or are you just guessing? (Not that I'm not guessing either.)

@aufkrawall
Copy link
Author

The workaround flag mentioning VRAM might be misleading and thus also the title of my ticket (yeah, I'm guessing badly).
Perhaps it's the same backbuffer issue with eglSwapBuffers in mpv like with glXSwapBuffers in Blender:
https://bugs.freedesktop.org/show_bug.cgi?id=110448#c8

@ghost
Copy link

ghost commented Oct 31, 2019

That seems very unlikely and I'm just going to say this is not the case, unless someone can disprove it with apitrace.

@ghost ghost closed this as completed in 8a09299 Nov 6, 2019
@aufkrawall
Copy link
Author

@wm4 It's gone for me when starting mpv, but it still occurs when switching into fullscreen the first few times during playback. The radeonsi_zerovram flag "fixes" that as well.
Definitely driver specific, never seen it with Intel i965.

@ghost
Copy link

ghost commented Nov 6, 2019

At least it removes the startup annoyance.
Any chance you could report this to Mesa? Maybe with API traces before and after this commit.
Edit: actually I guess the blender issue is exactly the same problem.

@aufkrawall
Copy link
Author

Any chance you could report this to Mesa? Maybe with API traces before and after this commit.

Likely this weekend.

@aufkrawall
Copy link
Author

@ghost
Copy link

ghost commented Nov 9, 2019

Thanks.

@aufkrawall
Copy link
Author

Seems it is not going anywhere. Perhaps a simple MR to put mpv on that exception list would just do the trick for the time being?

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

No branches or pull requests

2 participants