Open Szymekk44 opened 6 months ago
Also its not vmware, on real hardware it looks the same
I haven't looked into this, but it looks like all implementations of Canvas
, while having it defined, aren't completely using the stride information. This isn't a problem with resolutions like 1280x720, where the stride is equal to the width - but a resolution like 1366x768
would normally have some padding on each scanline to account for the alignment.
For e.g. 1280x720, each scanline is 1280 pixels long - meaning that two consecutive scanlines are already aligned on a 4 (or even 8!) byte boundary. For 1366px-wide scan-lines, this is no longer the case, so it's very much likely the stride is different than the width.
This could be fixed by making the formula for getting the position of a single pixel $(y * s) + x$, where $s$ is the stride.
(y * (Mode.width + Mode.padding)) + x
so adding padding data to Mode should fix it
i think windows had this kind of problem too
Update: its creating a 1368x768 canvas, but displaying 1366x768. Padding won't fix it because if you draw something on bottom two lines it is going to crash.
Here are some examples Square 10x10
on x1356 y0
x1358 y0
and now on x1359 y0
if you add in VBECanvas driver (Cosmos.System2) a new mode 1368x768 and set1366x768x32 in vbe resolution (vmware does not support 1368!) when creating a 1368x768 canvas it works. But with the same issue.
i think windows had this kind of problem too
Yes (at least on Rectify 11)
i think windows had this kind of problem too
That's right. Windows is solved by installing VMware tools, but There's no VMware Tools for CosmosOS.
Area of Cosmos - What area of Cosmos are we dealing with?
VBE Canvas/Graphics - 1366x768
Expected Behaviour - What do you think that should happen?
It should render normally. (SVGAII 1360x768; 1366 should be supported but its black https://github.com/CosmosOS/Cosmos/blob/8adc6864c20ac616f05e8d85e17b47fd6d986db7/source/Cosmos.System2/Graphics/SVGAIICanvas.cs#L123C1-L123C38)
Actual Behaviour - What unexpectedly happens?
yep even rectangles (loading bar) are broken
Reproduction - How did you get this error to appear?
Just create a new 1366x768 VBE Canvas and draw something (a rectangle, bitmap, text, anything)
Version - Were you using the User Kit or Dev Kit? And what User Kit version or Dev Kit commit (Cosmos, IL2CPU, X#)?
Devkit - latest c6155b9