{"push_id":897029082,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"6df2a9db17107414a36e64a3292b2fea383bd348","before":"e70ac4b9c3367f2bcd3f87062991a9e04560a95d","commits":[{"sha":"6df2a9db17107414a36e64a3292b2fea383bd348","author":{"email":"ca2e34e1958955302f317311f66bb8462b7e1dce@gmail.com","name":"alexax66"},"message":"Optimize kernel cfbfillrect function\nThis is a  patch to speed up the kernel\ncfbfillrect function used for clearing the screen or filling an area\nwith a solid color.\n\nThe previous implementation was doing reads from the uncached framebuffer,\nin certain circumstances, even for simple fills, which for performance\nreasons, on most platforms, is ill-advised unless strictly necessary to\nconform to the raster operation. In these circumstances, doing 64-bit\naccess on 64-bit systems does not serve much purpose except for probing\nfor corner-case bugs and race conditions in the hardware's framebuffer\nbus implementation. On all systems, for 16bpp, it is better to take\nadvantage of write-combining features of the framebuffer and write a\nhalf-word if required for the left and right edges.\n\nAdditionally, on most platforms, integer divides are relatively slow so are\nbest avoided, especially in inner loops.\n\nThis patch implements optimizations for 16bpp and 32bpp that avoid\nframebuffer read operations during cfbfillrect if the raster-operation\nis GXcopy. This applies to both 32-bit (BITS_PER_LONG) and 64-bit\nsystems (BITS_PER_LONG == 64). Although cfbfillrect is not usually a\nbottleneck for the console text framebuffer (because regions filled\nusually are aligned to a multiple of 2 or 4 x-coordinate and reads\nare avoided), in some use-cases this patch could deliver a significant\nspeed-up.\n\nSigned-off-by: Harm Hanemaaijer <fgenfb@yahoo.com>\n\nOriginal commit: https://github.com/dorimanx/DORIMANX_LG_STOCK_LP_KERNEL/commit/d55ccd577172a8eb47b08ee4c8e2e29f26ab8d7b","distinct":true,"url":"https://api.github.com/repos/alexax66/CM12.1_kernel_serranodsxx/commits/6df2a9db17107414a36e64a3292b2fea383bd348"}]}