[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [Qemu-devel] qemu-system-ppc video artifacts since "tcg:
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-ppc] [Qemu-devel] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution" |
Date: |
Thu, 16 Mar 2017 18:00:19 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.7.0 |
On 16/03/2017 16:34, Gerd Hoffmann wrote:
> Well, not *that* simple. vga checks the dirty bitmap with scanline
> granularity, like that:
>
> foreach (scanline) {
> if (get_dirty(scanline))
> update_scanline()
> }
> reset_dirty(framebuffer)
>
> I suspect simply transforming that to
>
> foreach (scanline) {
> if (test_and_clear_dirty(scanline))
> update_scanline()
> }
>
> is not going to fly due to page tracking working with page granularity.
> With two subsequent scanlines within one page the second scanline will
> never be updated because updating first clears the dirty bit of the
> page ...
>
> Looping twice over all scanlines, with the first loop just figuring
> which scanlines are modified, then clear dirty bits, then update in a
> second loop should work I think. It'll duplicate a bunch of code
> though, because in reality the loop isn't just three lines because of
> doublescan, interlave and other funky stuff coming from CGA
> compatibility.
>
> Given that probably pretty much every display adapter is affected I'd
> tend to take Alex patch for 2.9, then sort the mess in the 2.10 devel
> cycle and revert the patch when done.
You're right; an alternative is to copy the dirty bitmap to a local one
and clear the global one (the dirty bitmap for an 8 MB full HD frame
buffer is just 256 bytes). With the right API to abstract the job, it
should be relatively easy to fix all adapters.
Paolo
- Re: [Qemu-ppc] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", (continued)
- Re: [Qemu-ppc] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Alex Bennée, 2017/03/14
- Re: [Qemu-ppc] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", BALATON Zoltan, 2017/03/14
- Re: [Qemu-ppc] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", luigi burdo, 2017/03/14
- Re: [Qemu-ppc] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Alex Bennée, 2017/03/15
- Re: [Qemu-ppc] [Qemu-devel] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Mark Cave-Ayland, 2017/03/15
- Re: [Qemu-ppc] [Qemu-devel] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Alex Bennée, 2017/03/15
- Re: [Qemu-ppc] [Qemu-devel] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Paolo Bonzini, 2017/03/16
- Re: [Qemu-ppc] [Qemu-devel] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Alex Bennée, 2017/03/16
- Re: [Qemu-ppc] [Qemu-devel] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Paolo Bonzini, 2017/03/16
- Re: [Qemu-ppc] [Qemu-devel] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Gerd Hoffmann, 2017/03/16
- Re: [Qemu-ppc] [Qemu-devel] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution",
Paolo Bonzini <=
- Re: [Qemu-ppc] [Qemu-devel] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Gerd Hoffmann, 2017/03/28
- Re: [Qemu-ppc] [Qemu-devel] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Paolo Bonzini, 2017/03/28
- Re: [Qemu-ppc] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Alex Bennée, 2017/03/15
- Re: [Qemu-ppc] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Gerd Hoffmann, 2017/03/15
- Re: [Qemu-ppc] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Alex Bennée, 2017/03/15
- Re: [Qemu-ppc] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Gerd Hoffmann, 2017/03/16
- Re: [Qemu-ppc] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Alex Bennée, 2017/03/16
- Re: [Qemu-ppc] [Qemu-devel] qemu-system-ppc video artifacts since "tcg: drop global lock during TCG code execution", Paolo Bonzini, 2017/03/16