Julius Werner has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39430 )
Change subject: edid_fill_fb: Add row_alignment argument ......................................................................
Patch Set 6:
(2 comments)
https://review.coreboot.org/c/coreboot/+/39430/5/src/include/framebuffer_inf... File src/include/framebuffer_info.h:
https://review.coreboot.org/c/coreboot/+/39430/5/src/include/framebuffer_inf... PS5, Line 64: return row_alignment;
src/device/oprom/* in vbe_set_graphics()
Ack
https://review.coreboot.org/c/coreboot/+/39430/6/src/lib/edid_fill_fb.c File src/lib/edid_fill_fb.c:
https://review.coreboot.org/c/coreboot/+/39430/6/src/lib/edid_fill_fb.c@81 PS6, Line 81: bytes_per_line = ALIGN_UP(x_resolution * bits_per_pixel / 8, row_alignment); Like I mentioned in CB:39002 I think this is a problem. bits_per_pixel the way we usually use it can be 24, but in that case the framebuffer pixels are still 32 bits apart.
The way you get the real bytes-per-pixel here is by adding up red_mask_size, greeen_mask_size, blue_mask_size and reserved_mask_size. (Should probably assert() that that result is divisible by 8, too.)