win32ss / supermium

Chromium fork for Windows XP/2003 and up
https://win32subsystem.live/supermium/
BSD 3-Clause "New" or "Revised" License
1.97k stars 65 forks source link

suspected LibGLESv2-bug causes a small visual glitch with HW-acceleration on WinXP #722

Open JoachimHenze opened 3 weeks ago

JoachimHenze commented 3 weeks ago

Supermium 124.0.6367.245 x86 pre-release + chrome-xpapi-adapter_x86.b5065-wD3D9accel.zip from ida-re-things executed on WinXP x86 with cmdline args: --use-angle=d3d9 --ignore-gpu-blocklist leads to great HW acceleration on WinXP, but one small visual glitch with transparency remains.

see https://github.com/IDA-RE-things/Chrome-xp-api-adapter/issues/15 for details. Since @ida-re-things suspects the bug is in the main browsers LibGLESv2-lib instead of his progwrp.dll replacement, I dared to file a ticket in the main Supermium tracker for it.

IDA-RE-things commented 3 weeks ago

yes, this is right place for this ticket. Because my alternative do nothing for it, except providing D3D shader Compiler, working on XP. All other functionality, touching D3D9 rendering acceleration should be fixed in LibGLESv2 dll, or some other place. (as I pointed there).

Or may be problem with some shader. (I have not checked).

I'm working with bunch of another projects and have no time for detailed investigation of this minor bug, its sory. (but have tryed already). When I have investigated that rendering with PIX tool, the background for surface was not cleared properly. I have ended on this.

win32ss commented 3 weeks ago

This also happens with my d3dcompiler_47 patch using the VMware SVGA II adapter. And not only on XP either, this happens with DWM disabled on Windows 7 and without any patches to third-party DLLs (on both D3D9 and D3D11, I stand corrected from earlier - I was looking at another element that is unaffected).

I am currently investigating in the Viz compositor, in hopes of finding a better answer than to simply cut off GPU composition for all "widgets" if DWM is disabled/non-existent.

win32ss commented 2 weeks ago

I eventually looked at SkiaOutputSurfaceImplOnGpu, which seems to be fairly close to the culprit, but still not certain. Another alternative is to change the drawing routine for the "bubbles/widgets" to match the one for the context menus, which have a similar visual appearance border-wise complete with shadows, but don't have the same glitch. However, the drawing code for those has various layers to them and I will have to see which one actually draws the "black" rectangle (only after the tropical storm passes though - already had a transformer explode nearby).