-
Notifications
You must be signed in to change notification settings - Fork 284
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
Re-add ability to switch render modes under Qt 6 #917
base: master
Are you sure you want to change the base?
Conversation
From inspecting quickscreengrabber.cpp:810, I suspect this could potentially be a bug with the Edit: It could also be a race condition between the image signaling being captured and it being scaled by Qt. |
Yeah, but we don't support DirectX/Vulkan so making the test pass is meaningless and misguiding. I would rather skip it. |
Here the image behind the overlay wasn't loading at the correct scale, so I would leave the scale fix and remove the change to the overlay. See:
Alternatively, we could leave both, and use the test to catch when the image from the window grab loads with 4x scale instead of 2x. In other words, we could use the test to find out when the bug with the scaling factor and window.grabImage gets fixed in a future Qt version. Right now the only test failing appears to be |
Afaik, yes. It should work on windows |
c52e592
to
1b89069
Compare
Fixes #880, where QSG_VISUALIZE overdraw, and other modes, were not working under Plasma. Note, other render modes, such as Vulkan, are yet to be implemented.
quickinspectortext was failing on windows because the overlay that states "DirectX is not supported yet, please use OpenGL or Software backend" dims color values, making color compare fail. A solution for this is to make this overlay a little smaller, so we can get a glimpse of the original colors from the corners we pick colors from in this test.
grabbedFrame.image is sized according to display scaling, but the contents of the image itself remain at their original, non-scaled, resolution. There's a slim chance that the image is scaled to fit the scaled canvas, and the quickinspectortest passes. Most of the times, however, the image won't be scaled to fit the canvas. In this change we manually scale the image according to devicePixelRatio to fit the image's canvas. This allows the test to pass while keeping it unmodified.
QSGRendererInterface::Software appears to be the culprit, and QSGRendererInterface::OpenVG wasn't supposed to be used, thus they were both removed.
Fixes #880, where QSG_VISUALIZE overdraw, and other modes, were not working under Plasma. It does this by re-enabling RenderModeRequest::apply() when using the OpenGL variants or the Software renderer. Other modes, such as Vulkan, are yet to be implemented.
Testing was done under Plasma Wayland, by combining: